#pragma 预处理指令详解.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#pragma 预处理指令详解.pdf

#pragma 预处理指令详解 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状 态或者是指示编译器完成一些特定的动作。 #pragma 指令对每个编译器给出了一个方法,在保持与 C 和 C++语言完全兼容的情况下, 给出主机或操作系统专有的特征。 依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中 para 为参数,下面来看一些常用的参数。 1 message 参数 message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息, 这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message 消息文本 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没 有正确的设置这些宏, 此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码 的什么地方定义了_X86 这个宏, 可以用下面的方法: #ifdef _X86 #pragma message _X86 macro activated! #endif 我们定义了_X86 这个宏以后,应用程序在编译时就会在编译输出窗口里显示_86 macro activated! 。 我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了。 2 另一个使用得比较多的 pragma 参数是 code_seg 格式如: #pragma code_seg [section-name [, section-class] ] 它能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它。 3 #pragma once 比较常用 只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,这条指令实际上在 VC6 中就已经有了, 但是考虑到兼容性并没有太多的使用它。 4 #pragma hdrstop 表示预编译头文件到此为止,后面的头文件不进行预编译。BCB 可以预编译头文件以 加快链接的速度, 但如果所有头文件都进行预编译又可能占太多磁盘空间,所以使用这个选项排除一些头文 件。 有时单元之间有依赖关系,比如单元 A 依赖单元 B ,所以单元B 要先于单元 A 编译。 你可以用#pragma startup 指定编译优先级,如果使用了#pragma package smart_init , BCB 就会根据优先级的大小先后编译。 5 #pragma resource *.dfm 表示把*.dfm 文件中的资源加入工程。*.dfm 中包括窗体 外观的定义。 6 #pragma warning disable: 4507 34; once: 4385; error: 164 等价于: #pragma warning disable: 4507 34 // 不显示 4507 和 34 号警告信息 #pragma warning once: 4385 // 4385 号警告信息仅报告一次 #pragma warning error: 164 // 把 164 号警告信息作为一个错误。 同时这个pragma warning 也支持如下格式: #pragma warning push [, n ] #pragma warning pop 这里 n 代表一个警告等级 1---4 。 #pragma warning push 保存所有警告信息的现有的警告状态。 #pragma warning push, n 保存所有警告信息的现有的警告状态,并且把全局警告等级 设定为 n 。 #pragma warning pop 向栈中弹出最后一个警告信息,在入栈和出栈之间所作的一切 改动取消。例如: #pragma warning push #pragma warning disable: 47

文档评论(0)

仙人指路 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档