
gcc编译器使用
--2012-12-21 19:29:33
说明:可以先查看索引,再 Ctrl+F 查找查看具体细节。
【 gcc编译器参数分类】
注:其中的省略号表示该参数可以和其他的进行组合,如 -W… -Wall
◆ 显示帮助信息 --help
◆ 显示 gcc版本信息 --version
◆ 头文件 参数 –I (大写)
◆ 库文件 参数 –L(大写),-l(小写), -static, -shared, -fPIC
◆ 代码优化级别 参数 –O…(大写)
◆ 代码警告 参数 –W …(大写), -w(小写), -pedantic
◆ 生成汇编 代码 –S(大写)
◆ 预处理 参数 –E(大写)
◆ 仅编译文件 参数 –c(小写)
◆ 输出文件名 参数 –o(小写)
◆ 编译 C++程序 ( *.cpp)参数 –lstdc++
◆ 指明使用的编程语言 -x(小写)
◆ 编译加速 参数 -pipe
◆ 定义指定宏 参数 -D…(大写)
◆ 获得有关调试程序详细信息 -g3
下面是具体说明:
【头文件 参数 –I (大写)】
◆ Linux 下的大多数函数都默认: 头文件放到 /usr/include/目录下, 而库文件则放到 /usr/lib/
目录下。
◆ GCC 在编译时必须有自己的办法来查找所需要的头文件和库文件。
◆ -I 选项可以向 GCC 的头文件搜索路径中 添加新的目录 。
例如,如果在 /home/yy/include/目录下有编译时所需要的头文件,为了让 GCC 能够顺利地
找到它们,就可以使用 -I 选项: gcc -o test test.c -I /home/yy/include。
【库文件 参数 –L(大写),-l(小写), -static, -shared, -fPIC 】
◆ 关于库文件说明,参见上面关于头文件部分。
◆ -L 选项向 GCC 的库文件搜索路径中 添加新的目录 。
例如,如果在 /home/yy/lib/ 目录下有链接时所需要的库文件 libfoo.so,为了让 GCC 能够顺
利地找到它,就可以使用命令: gcc -o test test.c -L /home/yy/lib –lfoo。
◆ -l 选项,它 指示 GCC 去连接库文件 libfoo.so。 Linux 下的库文件在命名时有一个约定,
那就是应该以 lib 三个字母开头,由于所有的库文件都遵循了同样的规范,因此在用 -l 选项
指定链接的库文件名时可以省去 lib 三个字母,也就是说 GCC 在对 -lfoo 进行处理时,会自
动去链接名为 libfoo.so的文件。
◆ -static 选项,强制使用静态链接库 。如果在 /home/yy/lib/ 目录下有链接时所需要的库文件
libfoo.so 和 libfoo.a。为了 让 GCC 在链接时只用到静 态链接库,可以使用命令 : gcc
-o test test.c -L /home/yy/lib -static -lfoo。