常用C/C++预处理指令详解(2)
code_seg参数:设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到它
#pragma once:
只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,但移植性差。如果写的程序要跨平台,最好使用C++中的宏定义。
#pragma hdrstop:表示预编译头文件到此为止,后面的头文件不进行预编译。
#pragma resource:
表示把winform.dfm文件中的资源加入工程,winform.dfm中包括窗体外观的定义。
#pragma warning:输出警告信息。
我们运行一下程序:
int main()
{
float f=3.6;
int i=f;
cout<<i<<endl;
system("pause");
return 0;
}
会出现如下警告信息:
若我们在程序上方添加:
则编译时警告信息会变为:
1>ClCompile:
1>f.cpp
1>c:\users\gaohongchen\desktop\45\5\5\f.cpp(12): warning C4305: “初始化”: 从“double”到“float”截断
1>c:\users\gaohongchen\desktop\45\5\5\f.cpp(13): warning C4244: “初始化”: 从“float”转换到“int”,可能丢失数据
若我们在程序上方添加:
则警告信息会变为错误信息:
1>ClCompile:
1>f.cpp
1>c:\users\gaohongchen\desktop\45\5\5\f.cpp(13): warning C4244: “初始化”: 从“float”转换到“int”,可能丢失数据
#pragma comment:该指令将一个注释记录放入一个对象文件或可执行文件中。
常用的lib关键字,可以帮我们连入一个库文件。例如:
#pragma disable:在函数前声明,只对一个函数有效。该函数调用过程中将不可被中断。一般在C51中使用较多。