gcc c语言编译流程
发布日期:2021-06-30 18:54:27
浏览次数:2
分类:技术文章
本文共 620 字,大约阅读时间需要 2 分钟。
1前言
最近群里讨论个C语言的小程序,看起来都不是很难,但是大家对答案有争论,所以想讨论编译原理,做嵌入式要对编译原理有一定的了解,所以转了这篇文章。
我们之前讨论的问题如下代码
#include #include #define WEIQIFA 0;int main(void) { int i = WEIQIFA; i = i++; i++; printf("%d\n",i); return 0;}
原来是没有那个宏WEIQIFA的,但是我为了举例编译原理,特意加上去,编译的第一步就是做宏替换
预编译后变成下面这样
int main(void){ int i = 0;; i = i++; i++; printf("%d\n",i); return 0;}
用g++ -g -Wstrict-prototypes -Wall -Wunused -o test test001.c 编译
然后用objdump -j .text -Sl test | more 查看代码可以看到汇编代码如下
main():/data/weiqifa/c/bianyiyuanli/test001.c:7#include #define WEIQIFA 0;int main(void) { 400526: 55
转载地址:https://linus.blog.csdn.net/article/details/82686042 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月08日 06时58分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】循环神经网络和递归神经网络区别
2019-04-30
【学习笔记】英文科技论文常见英语句式积累
2019-04-30
【深度学习笔记】PixelShuffle
2019-04-30
【python3学习笔记】斜杠和双斜杠运算符的区别
2019-04-30
【深度学习笔记】用torch.nn.Sequential()搭建神经网络模型
2019-04-30
【深度学习笔记】用torch.nn.ModuleList搭建神经网络
2019-04-30
【深度学习笔记】pytorch的点乘(dot product)
2019-04-30
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【个人实验注意事项】
2019-04-30