GCC摘记

来源:互联网 发布:apache性能监控工具 编辑:程序博客网 时间:2024/04/29 19:32

一,GCC简称

GNU C Compiler -> GNU Compiler Collection
表示现在可以支持多种语言

二,编译的四个阶段

GCC编译程序时,会经历四个阶段

  1. 预处理。
  2. 编译。
  3. 汇编。
  4. 链接。
三,引入头文件搜索目录 
  1. 默认。/usr/include 、 /usr/local/include 等。
  2. CXX_INCLUDE_PATH环境变量。这个和-I是有区别的。
  3. -I 选项。
四,链接库
链接库其实就是把很多.o文件打成一个包,生成一个库文件,另外LD_LIBRARY_PATH指定目录 ,
  1. -r 选项。
  2. -shared选项。指定生成动态库。
  3. -fPIC。编译为位置独立的代码,否则是位置相关的,此时共享代码可能失效。
动态库的搜索顺序如下:
  1. 编译目标代码时 ”-Wl,-rpath,” 指定的动态库搜索路径(当指定多个动态库搜索路径时,路径之间用冒号”:”分隔)。如,-L../xx -Wl,-rpath=../xx
  2. 环境变量 LD_LIBRARY_PATH 指定的动态库搜索路径。
  3. 配置文件 /etc/ld.so.conf 中指定的动态库搜索路径。
  4. 默认的动态库搜索路径 /lib,如果是64位系统还包括 /lib64。
  5. 默认的动态库搜索路径 /usr/lib,如果是64位系统还包括 /usr/lib64。
五,其它选项
  1. -Wall。输出更多警告信息。
  2. -pg。生成只有gprof才可以识别的时间调用统计信息。
  3. -ggdb。生成只有gdb可以调试的调试信息。
  4. -g。加入调试信息。
  5. -w 。 关闭所有警告信息。
六,待续

0 0
原创粉丝点击