标签:gcc,GNU,2522%,makefile,编译,Linux,Test From: https://www.cnblogs.com/xhd1332516731/p/17016473.htmlGCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC 很快地扩展,变得可处理 C++。后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection)。
gcc是个复杂的命令,下面列举几个常用的选项:
-E:仅作预处理,不进行编译、汇编和链接
-S:仅编译到汇编语言,不进行汇编和链接
-c:编译、汇编到目标代码(也就是计算机可识别的二进制)
-o:执行命令后文件的命名
-g:生成调试信息
-w:不生成任何警告
-Wall:生成所有的警告
一步无脑的gcc hello.c -o target ,直接生成可执行文件target.
其中包含以下四步:
1 预处理:gcc -E Test.c -o Test.i
2 编译: gcc -S Test.i -o Test.s
3 汇编: gcc -c Test.s -o Test.o
4 链接生成可执行文件: gcc Test.o -o Test
makefile文件:
https://blog.csdn.net/weixin_38391755/article/details/80380786?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167245969616800222888555%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167245969616800222888555&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-80380786-null-null.142v68wechat,201v4add_ask,213v2t3_esquery_v1&utm_term=makefile&spm=1018.2226.3001.4187