
编译链接与地址映射
zhanglu_1024
这个作者很懒,什么都没留下…
展开
-
C++编译过程简介
广义的代码编译过程,实际上应该细分为:预处理,编译,汇编,链接。 预处理过程,负责头文件展开,宏替换,条件编译的选择,删除注释等工作。gcc –E表示进行预处理。 编译过程,负载将预处理生成的文件,经过词法分析,语法分析,语义分析及优化后生成汇编文件。gcc –S表示进行编译。 汇编,是将汇编代码转换为机器可执行指令的过程。通过使用gcc –C或者as命令完成。 链接,负载根据目标文件及所需的库文件产生最终的可执行文件。链接主要解决了模块间...原创 2021-09-14 09:42:27 · 287 阅读 · 0 评论 -
/dev/vda1磁盘空间占满的解决过程
问题描述:编译代码时,一直报错,而且报错特别奇怪,没遇到过。 问了问度娘,说有可能是磁盘占满了,使用df -h查看了下,/dev/vda1下总容量99G,已用99G,占用达100%解决:进入/ 根目录,然后du -sh * 查看占用情况,然后一级一级进入占用最多的目录,再次du -sh *。确定最后的大占用文件,如果可以删除,直接rm -rf搞定。...原创 2021-03-11 20:43:17 · 4390 阅读 · 0 评论 -
编译,链接过程分析
编译链接:编译程序的时候,具体的编译过程分为四个步骤,预编译,编译,汇编,链接。实际上,Gcc这个命令只是后台程序的包装,他会根据不同的参数要求去调用预编译编译程序cc1,汇编器as,链接器ld。总结一下:编译程序分为四个步骤,预编译,编译,汇编,链接。预编译阶段主要将注释删除,添加行号,头文件展开,保留编译器指令。编译阶段,处理编译器指令,进行词法分析,语法分析,语义分析,代码的原创 2017-08-13 16:13:18 · 433 阅读 · 0 评论