博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
章节导学第8章 预处理
阅读量:4144 次
发布时间:2019-05-25

本文共 284 字,大约阅读时间需要 1 分钟。

编译过程可细分为预处理阶段、编译汇编阶段和链接阶段三个阶段,每个阶段都有明确的任务。严格地说,预处理阶段的操作只是简单的文本“替换”,不能称为真正的“编译”。预处理命令主要有3种:宏定义,文件包含和条件编译。虽然预处理命令都只是文本操作,但是,预处理命令极大地方便了程序的编写。

宏定义命令虽然类似于查找替换,但是,要定义一个完全没有副作用的宏也并非易事。

文件包含命令实现了“文件级别”的查找替换,虽然方便了代码的重用,但是同一个文件被多次包含的问题需特别注意。

条件编译命令实现了“有条件的”查找替换,既可用于开发可移植的代码,又可用于解决头文件被多次包含的问题。

转载地址:http://jcdti.baihongyu.com/

你可能感兴趣的文章
文件隐藏
查看>>
两个linux内核rootkit--之二:adore-ng
查看>>
两个linux内核rootkit--之一:enyelkm
查看>>
关于linux栈的一个深层次的问题
查看>>
rootkit related
查看>>
配置文件的重要性------轻化操作
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
makefile中“-“符号的使用
查看>>
go语言如何从终端逐行读取数据?------用bufio包
查看>>
go的值类型和引用类型------重要的概念
查看>>
求二叉树中结点的最大值(所有结点的值都是正整数)
查看>>
用go的flag包来解析命令行参数
查看>>
来玩下go的http get
查看>>
感受一下go协程goroutine------协程在手,说go就go
查看>>
队列和栈的本质区别
查看>>