本文共 711 字,大约阅读时间需要 2 分钟。
1.预处理 -E —— xx.i (中间文件)
2.编译 -S —— xx.s (汇编文件) 3.汇编 -c —— xx.o (目标文件) 4.链接 —— xx (可执行文件)1.预处理
gcc -E Gcc_test.c -o Gcc_test.i //将.c文件生成.i(中间文件)// 处理所有以#开头的语句(头文件,宏定义等),预处理类似,不检查语法错误// 编译器在预处理结束时就停止编译进行预处理 -E,生成xx.i文件(.i是中间文件) 2.编译
gcc -S test.i -o test.s//这一步的主要步骤是将.i(中间文件)文件编译生成.s(汇编文件)//检查是否有语法错误,确认无误后编译生成汇编语言
3.汇编
gcc -c test.s -o test.o//将.s(汇编文件)文件生成.o(二进制的目标文件)//也就是将汇编文件翻译成计算机认识的二进制的目标文件
4.链接
gcc test.o -o test//将.o(二进制的目标文件)生成可执行文件//链接系统库函数 ,没有特别指定时,gcc会到系统默认的搜索路径“/user/lib”//下进行查找,也就是链接到“lib.so.6”库函数中去—————————————————— 不分解,一次即可编译成功: gcc tets.c -o test
https://so.csdn.net/so/search/s.do?q=gcc%E7%BC%96%E8%AF%91%E6%B5%81%E7%A8%8B&t=&u=
https://blog.csdn.net/chengyq116/article/details/87856641