1、最近总有人问#pragma CODE_SEG _NEAR_SEG NON_BANKED,还有#pragma LINK_INFO DERIVATIVE mc9s12xs128这些函数是什么意思!我在网上收集了一些资料希望能解大家疑惑!#pragma LINK_INFO DERIVATIVE mc9s12xs128“是用来改变mcu的,有了这句就不用手工改了,自动修改,你可以试一下,建一个工程,然后改变mcu具体:你先建一个工程,然后改变mcu,在工程窗口里有一个类似芯片的按钮按一下,或者在工程里面点击change mcu,然后你在查看一下工程文件,就会自动改变相应的文件! #pragma COD
2、E_SEG _NEAR_SEG NON_BANKED前一段时间写函数中断时,经常要加上#pragma语句,否则,编译就会出错。有飞思卡尔的16位单片机写过中断函数的人,就会知道在中断函数前必须加上代码 #pragma CODE_SEG _NEAR_SEG NON_BANKED ,函数结束的时候最好加上#pragma CODE_SEG DEFAULT(这个也可不加,但最好加上,以防出现bug)前一段时间写函数中断时,经常要加上#pragma语句,否则,编译就会出错。有飞思卡尔的16位单片机写过中断函数的人,就会知道在中断函数前必须加上代码 #pragma CODE_SEG _NEAR_SEG N
3、ON_BANKED ,函数结束的时候最好加上#pragma CODE_SEG DEFAULT(这个也可不加,但最好加上,以防出现bug) 现汇总#pragma用法如下:1.#pragma message #pragma message(消息文本) 当编译器遇到这条指令时,就在编译输出窗口中将消息文本打印出来。2.#pragma code_seg #pragma code_seg(section-namesection-class)它能够设置程序中函数代码存放的代码段。当我们开发驱动程序时便就会使用到它。3.#pragma once 只要在头文件的最开始加入这条指令就能够头文件被编译一次。4.#
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 这条指令主要用作改变编译器的默认对齐方式。 最后,祝大家学习C愉快。