功能:插入源文件包含的头文件代码和替换源文件中的宏定义代码
命令c++
gcc -E hello.c -o hello.i
功能:将预处理代码转换为汇编代码
命令函数
gcc -S hello.i -o hello.s
功能:将汇编代码转换为机器代码
命令spa
gcc -c hello.s -o hello.o
功能:将各个目标件连接为可执行程序
命令.net
gcc hello.o -o hello
文件结构调试
命令c++11
# 最简单的可执行文件 gcc hello.c -o hello # 带调试信息和编译警告的可执行文件 gcc -g -Wall hello.c -o hello
文件结构code
命令blog
# 直接指定源文件与目标文件 gcc main.c math.c -o main
文件结构ip
命令内存
# 第一步:生成目标文件 gcc -c math.c -o math.o # 第二步:建立静态库 ar crv libmath.a math.o
查看静态库
# 查看 math.o 函数列表 nm math.o # 查看 libmath.a 函数列表 nm libmath.a
文件结构
命令
# -fPIC gcc math.c -fPIC -shared -o math.so
说明
文件结构
命令
# 需指定静态库目录和静态库名称 gcc main.c -L. -lmath -o main
说明
文件结构
命令
# math.so 与 main.c 位于同一目录 gcc main.c -Wl,-rpath='.' math.so -o main
说明
添加加调试信息
gcc -g xxx.c
使用c++11标准编译
g++ -std=c++11