gcc 与 g++ 分别是 gnu 的 c & c++ 编译器 gcc/g++ 在执行编译工作的时候,总共需要4步:
1、预处理,生成 .i 的文件[预处理器cpp]
2、将预处理后的文件转换成汇编语言, 生成文件 .s [编译器egcs]
3、有汇编变为目标代码(机器代码)生成 .o 的文件[汇编器as]
4、连接目标代码, 生成可执行程序 [链接器ld]
预处理,这个不生成文件, 你需要把它重定向到一个输出文件里面
gcc -E hello.c > pianoapan.txt
gcc -E hello.c | more
预处理->编译,生成.s汇编文件
gcc -S Hello.c
预处理->编译->汇编,生成.o目标文件
gcc -c Hello.c
指定生成的文件
gcc Hello.c -o Hello.exe
指定生成动态库
gcc -fPIC -shared Hello.c -o libHello.so
使用动态库
g++ main.cpp libHello.so -o Hello.exe
指定生成静态库
gcc -static Hello.c -o libHello.a
使用静态库
g++ -static libhello.a main.cpp -o hello.exe