GCC笔记
来源:互联网 发布:淘宝卖家找小二介入 编辑:程序博客网 时间:2024/05/29 19:34
GCC 编译流程:
GCC在编译C/C++程序时,会经过一下4步
1.预处理
gcc -E hello.c -o hello.i
2.编译
gcc -S hello.i -o hello.s
3.汇编
gcc -c hello.s -o hello.o
4.链接
gcc hello.o -o hello
一步到位方法:gcc hello.c -o hello
常用的编译选项:
-I dir
Linux中默认的头文件都放在/usr/include目录下,如果用户希望添加其他位置的头文件的时候,需要通过"-I dir"来指定
eg.
gcc hello.c -I /root/workspace/include/ -o hello
-L dir
添加库文件的搜索路径
eg.使用动态库/root/workspace/lib/libsunq.so
gcc hello.c -lsunq -L /root/workspace/lib -o hello
-llib
就像上例中指定链接库,通过-lsunq去链接libsunq.so。这是因为Linux下的库文件在命名时都必须以"lib"开头,所以可以省略这3个字母
有时候编译出来的程序,在运行时找不到动态链接库,我们需要设置一下环境变量LD_LIBRARY_PATH。如:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/workspace/lib
警告提示:
-w 禁止所有警告
-Wunused 警告未使用的变量
-Werror 将警告视为错误
-Wall 显示所有有用的警告信息
eg. gcc -Wall -o hello hello.c
调试:
-g 让gcc在编译时产生调试信息,以便使用gdb调试
-pg 产生额外的代码输出,提供给gprof等工具使用
代码优化:
-On 指定优化级别,n在0到3之间,n越大表示优化越好。-O0表示不优化,-O3表示尽可能的优化。在需要调试的时候,最好不要优化。如果不指定该选项的话,就是-O0
0 0
- GCC笔记
- GCC笔记
- GCC笔记
- gcc笔记
- Gcc笔记
- GCC笔记
- GCC笔记
- GCC笔记
- GCC笔记
- GCC笔记
- GCC笔记
- GCC笔记
- gcc笔记
- gcc笔记
- gcc参数笔记
- GCC 学习笔记
- GCC笔记(转)
- GCC学习笔记
- OC基础-封装+继承+多态+self+类方法
- 【AC自动机+矩阵快速幂】 POJ 2778 DNA Sequence
- 串口 COM口 USB-TTL RS-232 RS-485 不同标准 区别 释疑
- STL源码剖析——STL算法之merge合并算法
- 2014上海网络预选赛1011(LCT)HDU5052
- GCC笔记
- []2013年人人校园招聘笔试题
- hdu 1795(欧拉函数+二分搜索)
- STC 8051单片机扩展SRAM介绍、使用以及配置
- ngui中素材坐标要为int
- STL源码剖析——STL算法之remove删除算法
- 二叉树及其实现
- 利用IO完成端口实现高性能的UDP或TCP通信
- OC基础-Xcode+点语法+变量作用域+@property/@synthesize