【问题标题】:mplab xc8/16 builtin_constant_pmplab xc8/16 builtin_constant_p
【发布时间】:2015-05-06 12:14:07
【问题描述】:

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

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

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

编辑:进一步澄清:我最感兴趣的是从编译器中检索信息。一个很好的例子是类似 builtin_constant 的东西,因为它使程序可以使用通常不可用的信息。但我并没有将这个问题限制为仅查找常量表达式。

【问题讨论】:

  • __builtin_toggle() iirc。阅读手册。
  • @MarcovandeVoort 你能给我一个链接/页面吗?什么都没找到。

标签: c microchip mplab xc8 xc16


【解决方案1】:

谷歌中的 XC16 手册并推出:http://ww1.microchip.com/downloads/en/DeviceDoc/50002071E.pdf 附录 G。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      这些是 XC16 编译器支持的内置函数

      例如__builtin_add

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多