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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月17日 04时45分47秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基础架构系列篇-系统centos7安装docker+COMPOSE
2019-04-30
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
用户权限设计-基于RBAC模型
2019-04-30
微服务springcloud2系列篇-网关GATEWAY跨域问题
2019-04-30
Java并发以及多线程基础
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MySQL数据库之索引
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30