在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作.
pragma【计】 编译指示; 杂注
1.#pragma comment( comment-type [,"commentstring"] )comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。
lib:这是一个非常常用的关键字,用来将一个库文件链接到目标文件中
常用的lib关键字,可以帮我们连入一个库文件。
我们经常用到的是#pragma comment(lib,"*.lib")这类的。#pragma comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。 和在工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的 程序别人在使用你的代码的时候就不用再设置工程settings了
2.#pragma once (比较常用)
这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次
3.message 参数。
message
它能够在编译信息输出窗
口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:
#pragma message(“消息文本”)
当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。
当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条
指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法
#ifdef _X86
#pragma message(“_X86 macro activated!”)
#endif
当我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示“_
X86 macro activated!”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了
参考资料
http://blog.ednchina.com/tianlebo/5712/message.aspx
http://www.cppblog.com/xczhang/archive/2008/01/10/40866.html
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaoxianghua/archive/2009/07/04/4321835.aspx