搜档网
当前位置:搜档网 › #program

#program

前一段时间写函数中断时,经常要加上#pragma语句,否则,编译就会出错。有飞思卡尔的16位单片机写过中断函数的人,就会知道在中断函数前必须加上代码 #pragma CODE_SEG __NEAR_SEG NON_BANKED ,函数结束的时候最好加上#pragma CODE_SEG DEFAULT(这个也可不加,但最好加上,以防出现bug)
现汇总#pragma用法如下:
1.#pragma message
#pragma message("消息文本") 当编译器遇到这条指令时,就在编译输出窗口中将消息文本打印出来。


2.#pragma code_seg

#pragma code_seg(["section-name"["section-class"]])
它能够设置程序中函数代码存放的代码段。当我们开发驱动程序时便就会使用到它。


3.#pragma once

只要在头文件的最开始加入这条指令就能够头文件被编译一次。


4.#pragma hdrstop

表示编译头文件到此为止,后面的头文件不进行预编译。


5.#pragma resouce

#pragma resouce"*.dfm"表示*.dfm文件中的资源加入工程。*.dfm中包括了外观定义。


6. #pragma warning

#pragma warning (disable:4507 34; once:4385; error:164) 等价于

#pragma warning (disable:4507 34) //不显示4507和30号警告信息

#pragma warning (once:4385) //4358号警告信息仅报告一次
#pragma warning (error:164) //把164号警告信息作为一种错误


7. #pragma comment

#pragma comment(...) 该指令将一个注释放入一个对象文件或可执行文件中,常用lib关键字帮我们链入一个库文件。如:#pragma comment(lib,"user32.lib") 该指令用来将user32.lib库文件加入到本工程中。


8. #pragma pack

这条指令主要用作改变编译器的默认对齐方式。

相关主题