(二)gcc工具链
1.gcc是GNU Compiler Collection即GNU编译器家族
2.简单编译
例:#include <stdio.h>
int main()
{
printf("hello world!\n");
return0;
}
编译指令 gcc test.c -o test 生成test可执行文件 ./test 执行
3.编译四个阶段
(1)预处理 (头文件展开)
例:gcc -E test.c -o test.i
(2)编译(语法检查,将C语言转化为汇编语言)
例:gcc -S test.i -o test.s
(3)汇编(将汇编语言转化为二进制文件)
例:gcc -c test.s -o test.o
(4)链接(将二进制文件链接到库)
例:gcc test.o -o test
4. 多个程序文件的编译
例: gcc test1.c test2.c -o test
5.gcc 常用指令
-c :只是编译不连接,生成目标文件“.o”
-S:只是编译不汇编,生成汇编代码
-E:只进行预编译,不做其他处理
-g:在可执行程序中包含标准调试信息
-o file :把输出文件输出到file里
-I dir :在头文件的搜索路径列表中添加dir目录
-static : 链接静态库
-I Library: 链接名为Library的库文件