gcc c语言编译流程
发布日期:2021-06-30 18:54:27 浏览次数:3 分类:技术文章

本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:串口UART串行总线协议
下一篇:触摸屏响应速度性能分析

发表评论

最新留言

很好
[***.229.124.182]2024年04月17日 04时45分47秒