文章目录
编译的过程
在正式开始之前首先对编译和链接进行一个整体的了解

1.预处理阶段
a.预处理工作:展开头文件,去注释,宏替换和删除
gcc -E test.c -o test.i
-E表示程序开始翻译,当执行完预处理就停下来
-o表示将预处理后形成的临时文件(名字任取)

在vim底行模式下输入:vs+文件名即可打开多个文件
安装gcc:sudo yum -y install gcc
b.外部定义宏参数
gcc test.c -DSHOW//在外部给test.c定义宏SHOW

gcc+文件名不加任何选项就是直接将源代码翻译成可执行程序,生成的可执行程序默认名称为a.out
外部定义的宏只在a.out中生效,并没有改变test.c文件
2.编译(生成汇编)
gcc -S test.
深入理解编译过程与动/静态链接,

文章详细介绍了编译过程的四个阶段:预处理、编译、汇编和链接。预处理涉及头文件展开、宏替换等;编译生成汇编代码;汇编转为二进制目标文件;链接则将目标文件与库结合生成可执行程序。动态链接和静态链接的差异在于程序运行时如何关联库,动态链接生成的程序小且启动快,但依赖外部库,静态链接则将库代码包含在内,程序独立但体积大。
最低0.47元/天 解锁文章
237

被折叠的 条评论
为什么被折叠?



