目录: (0)前言 (1) #pragma message 能够在编译信息输出窗口中输出相应的信息 (2) #pragma code_seg 能够设置程序中函数代码存放的代码段,开发驱动程序的时会用到 (3) #pragma once 若用在头文件的最开始处就能够保证头文件被编译一次 (4) #pragma hdrstop 表示预编译头文件到此为止 (5) #pragma resource "*.dfm"表示把*.dfm 文件中的资源加入工程 (6) #pragma warning 允许有选择性的修改编译器的警告消息的行为 (7) #pragma comment 将一个注释记录放入一个对象文件或可执行文件中 (8) #pragma data_seg 建立一个新的数据段并定义共享数据 应用 1:在 DLL 中定义一个共享的,有名字的数据段 应用 2:data_seg 控制应用程序的启动次数 (9)其他用法 (0)前言 #Pragma 指令的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma 指令对每个编译器给出了一个方法,在保持与 C 和 C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的, 且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中 Para 为参数,下面来看一些常用的参数。 (1) #Pragma message 参数能够在编译信息输出窗口中输出相应的信息 这对于源代码信息的控制是非常重要的。其使用方法为: Pragma message(“消息文本”) 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86 这个宏可以用下面的方法 #ifdef _X86 #pragma message(“_X86 macro activated!”) #endif 若定义了_X86,程序编译时就会在显示“_X86 macro activated!”。我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了。 (2) #pragma code_seg 能够设置程序中函数代码存放的代码段, 开发驱动程序的时候就会使用到它。格式如下: #pragma code_seg( [ [ { push | pop}, ] [ identifier, ] ][ "segment-name" [, "segment-class" ] ]) 该指令用来指定函数在.obj 文件中存放的节,观察OBJ 文件可以使用VC 自带的dumpbin 命令行程序 ,如果code_seg 没有带参数的话,则函数在OBJ 文件中存放在默认在.text 节中。 push (可选参数) 将一个记录放到内部...