程序的编译及连接过程以及宏
来源:互联网 发布:渭南广电网络客服电话 编辑:程序博客网 时间:2024/06/01 09:51
一、程序环境
在ANSIC的任何一种实现中,都存在两个不同的环境,即翻译环境以及执行环境
(一)翻译环境,在这个环境中,源代码备转化为可执行的机器指令。
(二)执行环境
1,程序必须先载入入内存。
2,开始执行程序,调用main函数。
3,开始执行程序代码,程序会使用一个运行时堆栈(储存函数的局部变量和返回地址)。
4,终止程序。
二、宏和函数的区别
宏函数
函数
执行速度
快
函数调用会消耗一定的时间
参数类型
宏和类型无关,适用于任何参数类型
函数的参数和类型相关,函数的形参和实参类型必须相同
操作符优先级的影响
在使用宏函数时,最好加上括号,否则会产生不可预料的结果
实参直接传递给形参,函数写正确,结果可以预测
三、预处理标识符(可以输出当前编译文件的相关信息)
_LINE__ //输出文件当前行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如果编译器遵循标C,其值为1,经测验,vs以及Linux系统都遵循标C
2 0
- 程序的编译及连接过程以及宏
- c程序的预处理,编译,连接过程。
- c程序的编译 汇编.连接过程
- uboot的编译及连接过程
- GCC编译及连接过程
- 编译连接的过程
- make和makefile以及程序的编译和链接过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译过程
- 程序的编译,连接
- GCC 编译c程序的方法及过程解析
- 最简单的ndk示例程序及编译过程
- GCC 编译c程序的方法及过程解析
- 视音频基础知识——I,P,B,PTS,DTS
- Android单元测试框架源码分析(二)浅析Robolectric
- okhttp3与旧版本okhttp的区别分析
- codeforces 731C (并查集 水)
- win10+vs2015+live555生成.lib
- 程序的编译及连接过程以及宏
- 数据库
- Struts2的架构 Struts2执行流程
- 国际结算三大方式之——汇款
- 数据结构之搜索二叉树递归&非递归
- mysql数据库相关操作知识
- 安卓模仿2048小游戏
- HDU:1006 Tick and Tick
- 如何去掉点击a链接时周围的虚线框