今天面试被问到一个C++编译的问题,在这里求教各位大佬。
C++编译过程中的编译和汇编阶段的区别是什么?可以合并为一个过程吗?
C++编译过程中的编译和汇编阶段的区别是什么?可以合并为一个过程吗?
全部评论
我觉得,之所以有编译阶段和汇编阶段,是因为,这些高级语言都是需要用低级语言如:汇编语言,来将高级语言转化为二进制,而编译阶段就是将高级语言转化为汇编语言,通过这些汇编指令来操作寄存器的值,最后在获取寄存器中的值得到二进制,😁这也就是为什么c++有反汇编,你是可以看到汇编代码的,
编译你可以理解为使用的是g++最终产物是汇编码,汇编使用的是as,最终产物是二进制机器码
编译过程:由编译器进行,产生汇编码
汇编:由汇编码产生二进制可连接文件
连接:可连接文件进行连接后产生机器码
"预处理,编译,汇编,链接"
C 程序编译的标准流程,具体可参考《程序员的自我修养》第二章
编译是产生汇编代码,汇编是汇编代码转为二进制
相关推荐
点赞 评论 收藏
分享