编译问题

liuweiwei1 2002-07-24 02:31:06
#infine是在预编译时处理的,它保能作简单的字符串替换,
而typedef是在编译时处理


问题是:预编译和编译有何区别?
...全文
32 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
glassshark 2002-07-27
  • 打赏
  • 举报
回复
预编译就是编译成静态的中间代码,主要是为了在较大的系统实现中(如GUI)中预先编译一些固定不变的“初始化代码,或不变的固定代码”,是一种提高反复编译效率,减少重复编译“部分不变代码”次数,在你修改代码后,这部分不变代码虽然在同一编译单元中,但不会被二次“从头编译”,节约时间的一种策略,是一种同编译器有关的具体实现技术,在C标准没有规定其细节,所以不同厂家的实现不同,有的是半目标代码,有的是可重定位的位置无关代码。
而编译是生成目标代码的过程,C标准对编译做了一些相关规定(当然是系统和实现无关的),可以这样理解,预编译是编译的一种比较相近的特殊实现。
zheng_can 2002-07-24
  • 打赏
  • 举报
回复
预编译的源是你所看到的源代码,目标是经过处理的没有预编译指令的源文件
编译的源是预编译的结果,目标是生成 .obj 文件,以供链接程序进行链接

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧