pragma,#pragma的使用

#pragma指令是所有预处理指令中最复杂的,它用于设定编译器的状态或者指示编译器完成一些特定的动作。根据定义,编译指示适合具体的机器和操作系统相关的,且对于每个编译器可能都不相同。
一般格式:
#pragma para
//其中para为参数,对于不同的编译器可能不一样
常用参数:
1)message
message参数能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:
#pragma message("消息文本")
当编译器遇到这条指令时就在编译器输出窗口中将消息文本打印出来。如果在程序中定义了许多宏来控制源代码版本时,可以通过此语句来输出相应的提示信息。
例如:
#ifdef _X86
#pragma message("_X86 macro activated!")
#endif
当定义了_X86这个宏以后,编译源代码时就会在编译输出窗口提示“_X86 macro activated!"。
2)code_seg
格式如下:
#pragma code_seg(["section-name",[,"section-class"]])
它用于设置程序中函数代码存放的代码段,当开发驱动程序时就会使用它
3)once
在头文件的开头处加入此指令可以保证头文件只被编译一次。但是此指令是与编译器有关的,就是说在有些编译系统上能用,而在其它编译系统上可能不能用,因此这条指令的移植性较差。为了保证移植性,最好使用#ifndef, #define, #endif来避免头文件的多次编译。
4)resource
5)warning
格式如下:
#pragma warning(warning-specifier:warning-number-list[;warning-specifier:warning-number-list...])
#pragma warning(push[,n])
#pragma warning(pop)
#pragma warning(disable:
6)comment
Tags:  pragma

延伸阅读

最新评论

发表评论