C语言学习(第一天)
来源:互联网 发布:淘宝分销受骗例子 编辑:程序博客网 时间:2024/04/30 01:34
c语言编译过程
c源代码->预处理->编译->优化->汇编->链接->可执行文件
预处理(preprocessing) —— 生成.i文件
- 对c源代码中的伪指令或预处理指令(#开头的指令)和特殊符号进行处理。
- 会删除注释和空白字符。
gcc test.c -o test.i -E
预处理指令是以#号开头的代码行,#号必须是该行除了任何空白字符外的第一个字符,#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令。
伪指令:
- 宏定义 #define #把后面参数换成字符串 ##参数连接到一起
- 条件编译指令 #if #elif #else #endif #ifdef #ifndef
- 头文件包含指令 #include
- 特殊符号
__LINE__
___FILE__
__DATE__
__STDC__
__TIME__
#error
#line
#pragma
编译阶段(compliling) —— 生成.s文件
gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。
gcc test.c -o test.s -S
汇编阶段(assembling)– 生成.o文件
把编译阶段生成的.s文件转成二进制目标代码。
gcc test.c -o test.o -c
链接阶段(link) —— 生成可执行文件
将.o文件链接成可执行文件。
gcc test.c -o test
参考链接
- http://www.cnblogs.com/rusty/archive/2011/03/27/1996806.html
- http://blog.csdn.net/chengocean/article/details/6250779
- http://blog.csdn.net/eastonwoo/article/details/8655243
0 0
- C语言学习 (第一天)
- C语言学习(第一天)
- C语言学习(第一天)
- 学习C语言第一天
- c语言学习第一天
- C语言学习第一天
- C语言学习第一天
- C/C++ C语言学习第一天(配置)
- 学习C语言的第一天
- c语言基础学习记录第一天
- 第一天C语言学习基础
- IOS(C语言学习)第一天
- C语言学习的第一天
- 开始C语言的学习。第一天
- JNI学习之C语言第一天
- 学习c语言的第一天i
- c语言第一天学习总结
- 学习C语言的第一天
- UNIX环境高级编程学习笔记(十)为何 fork 函数会有两个不同的返回值
- C++宏中的“#”与“##”用法
- Area - POJ 1265 Pick定理
- 黑马程序员——基础学习(十二)异常(Throwable)类、文件(File)类及递归
- IOS模拟器点击fieldText 不弹出软键盘
- C语言学习(第一天)
- Gifview的使用
- 如何在struts2的action返回结果之后再来进行费时的数据库操作呢?
- Android初学习 - 明暗度,窗体透明等的设置技巧
- poj 3414 Pots(BFS)(简单题)
- Monkey log异常分析说明
- CodeForces 546A Soldier and Bananas
- The sizeof Operator
- Oracle库Delete删除千万以上普通堆表数据的方法