资源描述:
《vc,宏与预处理使用方法总结(转)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划vc,宏与预处理使用方法总结(转) VC预处理命令 预处理器是一种处理源文件文本的文本处理器,?它是翻译起始阶段的一个组成部分。 预处理器并不在语法上分析处理源文本,但出于定位宏调用的目的,它将源文本分开语言符号。虽然编译器一般在初次编译时启动预处理器,但预处理器也可以不经编译,单独地处理文本。 Microsoft特殊处 用/E或/EP编译器选项进行预处理之后,你可以得到一个源代码
2、的列表。在多数情况下,启动预处理器和输出结果文本到输出设备,这两种选项都是控制台指令,这两种选项的区别在于/E包括了#line指令,/EP没有这些指令。 Microsoft特殊处结束 ________________________________________特殊术语目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的
3、培训计划 在本书中,名词“参量”指的是传送给一个函数的实体。有时候,它用“actual”或“formal”修饰,它们分别用于表示函数调用时的参量表达式和在函数定义时的参量说明。名词“变量”指的是一种简单的C类型数据对象,名词“对象”指的是C++对象和变量;它是一个含义广泛的名词。________________________________________翻译阶段 C和C++程序由一个或多个源文件组成,它们都包含了程序的某些文本,一个不包含代码部分的源文件和它的包含文件(用#indude预处理器
4、指令包含的文件),若被条件编译指令(比如#if)调用,则称其为一个“转换单元”。 源文件可被翻译多次,翻译过去的文件事实上是很正常的。已经翻译了的翻译单元可保存在单独的对象文件或对象代码库里,这些单个的转换单元可被连接形成一个可执行文件或动态链接库(DLL)。转换单元可采用下列形式通信: *调用具有外部连接的函数。 *调用具有外部连接的类成员函数。 *直接更改具有外部连接的对象。 *文件的直接更改。 *内部外理通信(仅限于基于MicrosoftWindows的应用程序)。以下是编译器翻译文
5、件的各个阶段: 字符映射 源文件中的字符被映射为内部源代码的形式。?此阶段三字母序列被转换为单字符的内部表现形式。 行拼接 在此阶段,源文件中所有以反斜杠()结尾且其后紧跟一换行符的行,?将与下一行连接,从而由物理行生成逻辑行。所有非空源文件结束于一个前面没有反斜杠的换行符。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及
6、个人素质的培训计划 语言符号化 此阶段源文件被分为预处理语言符号和空白字符。源文件中每个注释被用一个空白字符代替。换行符被保留。 预处理 此阶段执行预处理指令并将宏扩展至源文件,#include语句调用对 所有包括文本启动前面三个翻译步骤开头的翻译过程。 字符集映射 所有的源字符集成员和转义序列将转换为执行字符集中的等价形式,对于MicrosoftC和C++来说,源字符集和执行字符集都是ASCII码。字符串合并 所有相邻的字符串和宽字符文字都将被合并。例如:“String”“conca
7、tenation”合并为“Stringconcatenation”。 翻译 所有的语言符号将按语法和语义规则进行分析;这些语言符号被转换为目标代码。 链接 此阶段所有的外部引用被分解以生成一个可执行程序或一个动态链接库。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 编译器在翻译过程中遇到语法错误时,将
8、发出一个警告或错误信息。链接器分解所有的外部引用,并把一个或多个分开处理的转换单元和标准库联接起来,以生成一个可执行程序或动态链接库(DLL)。________________________________________ 预处理器指令 预处理器指令如#define和#ifdef,?一般被用在不同的运行环境下,使源程序易于更改和编译。源文件中的指令指示预处理器执行特有的行为。例如,预处理器可替换文本中的语言符号,将其它的文件内容插入源文件中,或移走