美文网首页
Linux GCC命令备忘

Linux GCC命令备忘

作者: eesly_yuan | 来源:发表于2014-11-19 12:50 被阅读111次

hellodev——Linux GCC常用命令

简介

gcc(GNU-C-Compiler),但不局限于c语言,还支持C++\JAVA\OBJECIVE C\PASCAL等,变成了GNU Complier Collection,即GNU编译器家族。


几个简单的指令

gcc hello.c -o hello
上面这句话在实际过程中分为4个步骤
gcc -E hello.c -o hello.i //1、预处理
gcc -S hello.i -o hello.s //2、编译(输出汇编代码)
gcc -c hello.s -o hello.o //3、汇编
gcc hello.o -o hello      //4、链接
除此之外,多个指令编译指令如下
gcc hello1.c hello2.c -o hello

检错

gcc -pedantic hello.c -o hello//提示一些不符合ANSI/ISO标准的代码
gcc -Wall hello.c -o hello    //尽可能提示更多的警告
gcc -Werror hello.c -o hello  //将警告作为错误,终止编译

库文件链接

库文件链接需要知道,所需库文件的include文件目录和lib文件目录。

gcc –c –I include文件目录 hello.c –o hello.o//编译成可执行文件
gcc -L lib文件目录 -参数 hello.o -o hello//链接

文件链接包含两种类型

  1. 动态链接库(.so结尾):运行时动态加载
  2. 静态链接库(.a结尾):编译时静态加载

静态库链接时搜索路径顺序:

  1. ld会去找GCC命令中的参数-L
  2. 再找gcc的环境变量LIBRARY_PATH
  3. 再找内定目录 /lib /usr/lib /usr/local/lib 这是当初compile gcc时写在程序内的

动态链接时、执行时搜索路径顺序:

  1. 编译目标代码时指定的动态库搜索路径
  2. 环境变量LD_LIBRARY_PATH指定的动态库搜索路径
  3. 配置文件/etc/ld.so.conf中指定的动态库搜索路径
  4. 默认的动态库搜索路径/lib
  5. 默认的动态库搜索路径/usr/lib

有关环境变量:
LIBRARY_PATH环境变量:指定程序静态链接库文件搜索路径
LD_LIBRARY_PATH环境变量:指定程序动态链接库文件搜索路径


reference

hellodev——Linux GCC常用命令

相关文章

  • Linux GCC命令备忘

    hellodev——Linux GCC常用命令 简介 gcc(GNU-C-Compiler),但不局限于c语言,还...

  • Linux Arm编译器

    命令进行arm-linux-gcc的安装:sudo apt-get install gcc-arm-linux-g...

  • Linux下编辑、编译、调试命令总结——gcc和gdb描述

    Linux下编辑、编译、调试命令总结——gcc和gdb描述 GCC gcc是linux系统集成的编译器。在linu...

  • Linux下升级GCC的问题

    Linux下升级GCC: 现目前GCC 最新版本已经到7.2.0了, 我通过putty 操作linux 命令 看到...

  • centOS服务器安装nginx

    一、安装所需插件: 1、安装gcc:gcc是linux下的编译器 命令:查看gcc版本:gcc -v 一般阿里云的...

  • 🤓Linux--Fortran下载、安装、运行

    一、下载 linux 运行安装命令 sudo yum install gcc-gfortran gfortran ...

  • Linux 命令学习记录

    记录使用过的Linux命令,学习备忘(持续学习更新中)。 登录Linux系统 注意:命令后方要加个空格 常用的文件...

  • Linux命令备忘

    1. 系统相关 查看手册命令 man 只查看当前下一级目录占用大小 du --max-depth=1 -h 查看某...

  • linux 命令备忘

    sudo su 切换到root用户ps -aux | grep python tail -f nohup.out ...

  • Linux命令备忘

    t>本文说明:文章主要用于自己备忘,记录的是在日常工作娱乐中用到的一些命令及软件包,并不一定都是常用命令。基础命令...

网友评论

      本文标题:Linux GCC命令备忘

      本文链接:https://www.haomeiwen.com/subject/wxbitttx.html