mplab xc8 / 16 builtin_constant_p

时间:2015-05-06 12:14:08

标签: c microchip mplab xc8 xc16

我在mplab编译器用户指南中搜索了这个,但没有找到任何东西。我在这里要求确认我不是盲人或其他任何人:

GCC编译器提供了一些非常有趣和有用的内置函数,如__builtin_constant_p(x)或类似的东西。我从未在微芯片编译器中找到类似的东西,我认为没有。

所以问题:Microchip XCxx编译器是否提供除设备特定功能之外的任何非标准内置功能(如在给定寄存器地址处声明变量或声明中断功能)?

编辑:为了澄清更多:我最感兴趣的是从编译器中检索信息。一个很好的例子就像builtin_constant,因为它使程序可用的信息通常不可用。但我不限制这个问题只能找到常量表达式。

3 个答案:

答案 0 :(得分:0)

google和out roll中的XC16手册:http://ww1.microchip.com/downloads/en/DeviceDoc/50002071E.pdf附录G.

答案 1 :(得分:0)

@Marco van de Voort提到的同一文档在第19.4节中有一个预定义宏列表,它为您提供有关编译器环境和设备的信息。

还有一些未记录的__DEBUG宏,它是在调试模式下在MPLABX下运行时定义的(MPLABX在调用编译器时对此进行了定义)。

答案 2 :(得分:-1)

这些是XC16编译器支持的内置程序

enter image description here

例如__builtin_add

enter image description here

有关内建函数的完整说明,请参见《 MPLAB XC16编译器用户手册》(在编译器安装的“ docs”文件夹下)或位于:http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en559023