0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在MPLAB XC16编译器内建函数

麦辣鸡腿堡 来源:Microchip微芯 作者:Microchip微芯 2023-01-22 17:37 次阅读

MPLAB XC16编译器提供了一系列内建函数,使C语言编程人员可以访问目前只能通过行内汇编访问的汇编运算符或机器指令。内建函数名都有一个前缀__builtin_,源代码用C语言编写,在句法上类似于函数调用,但它会被编译成直接实现功能的汇编代码,且不涉及函数调用或库函数。

相比于使用行内汇编,内建函数具有以下优势:

1.提供专用的内建函数可以简化编码。

2.使用行内汇编时会禁止某些优化功能,而使用内建函数则不会。

3.对于使用专用寄存器的机器指令来说,编写行内汇编代码时要特别注意避免寄存器分配错误。

而内建函数使这个过程更简单,无需考虑每个机器指令的特殊寄存器要求。内建函数的编程接口和使用说明请参考《MPLAB XC16编译器用户指南》。

pYYBAGO5PWWAA4EdAAEUB2TN8to519.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3881

    浏览量

    61310
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48618
  • MPLAB
    +关注

    关注

    8

    文章

    213

    浏览量

    66348
收藏 人收藏

    评论

    相关推荐

    GCC内建函数问题!!!

    目前的代码中使用了GCC的内建函数__builtin_clz()和__builtin_popcount(),在CCS中编译不能通过,请问,CCS是否有库支持这两个函数,多谢!
    发表于 06-21 18:30

    XC16编译器的malloc函数不能在运行时分配内存

    我尝试在PX24F控制XC16编译器中使用MalLoad函数分配动态内存,但上面的函数不能在运行时分配内存。 以上来自于百度翻译 以下
    发表于 11-01 10:22

    MPLAB X IDE和XC16编译器适用的头文件是什么

    XC16编译器必须有新的适用的头文件。有人有建议吗?顺便说一下,我能够成功地使用SPI总线进行文本讨论,从而成功地实现了SPI通信。 以上来自于百度翻译 以下为原文 I'm using Explorer
    发表于 03-20 12:08

    MPLAB-X 3.55无法识别XC16编译器

    一周前安装它)。GC30编译器是在C:\Studio\Microchip \ MPLABC30\v3.31中,为什么MPLAB-X找不到XC16????? 以上来自于百度翻译 以下为原文 I am
    发表于 04-01 14:39

    xc16编译器编译延迟向量

    大家好。和平在每个人身上。要编译长代码的所有部分,而我的编译器XC16 V 1.31处于优化级别。S是代码的一部分。当在S模式下编译时,它不编译
    发表于 04-17 08:48

    XC16编译器编译失败

    这段代码用XC16编译器编译失败:附件是我的MPLABX项目。谁能告诉我如何使用_u prog_storage类和ANSI编译选项?
    发表于 04-03 07:13

    内置函数真的内置到XC16编译器吗?

    内置函数是否在“库”中,或者它们真的“内置”到XC16编译器吗?不可能从编译器中分离出任何未使用的内置代码,就像图书馆那样吗?我在PIC33E中使用以下内容:u
    发表于 05-07 11:26

    MPLAB XC编译器免费下载

    MPLAB XC编译器免费下载
    发表于 11-23 16:07 56次下载

    MPLAB® XC8 C编译器的架构特性

    本视频介绍了MPLAB® XC8 C编译器的架构特性。该编译器编译过程不同于传统的编译器,采用
    的头像 发表于 05-23 12:47 5438次阅读
    <b class='flag-5'>MPLAB</b>® <b class='flag-5'>XC</b>8 C<b class='flag-5'>编译器</b>的架构特性

    MPLAB C18编译器MPLAB XC8 C编译器的移植过程详细中文资料概述

    本文档概述了从针对PIC18 MCU的MPLAB® C编译器(以前的说法,本文中称为MPLAB C18)到MPLAB XC8 C
    发表于 06-29 11:25 47次下载

    如何将C源代码从MPLAB C18编译器移植到MPLAB XC8C编译器的详细概述

    本文档介绍了针对PIC18 MCU的MPLAB® C编译器(以前的说法,本文档称为MPLAB C18)与MPLAB XC8 C
    发表于 06-07 09:28 30次下载
    如何将C源代码从<b class='flag-5'>MPLAB</b> C18<b class='flag-5'>编译器</b>移植到<b class='flag-5'>MPLAB</b> <b class='flag-5'>XC</b>8C<b class='flag-5'>编译器</b>的详细概述

    MPLAB® XC16的详细用户指南

    本文主要介绍了MPLAB® XC16的详细用户指南
    发表于 06-05 17:29 58次下载

    安装MPLAB XC C编译器并获取许可证

    安装MPLAB XC C编译器并获取许可证说明。
    发表于 04-29 09:42 16次下载

    面向嵌入式工程师的MPLAB XC16用户指南

    本文档介绍了5个适用于16位器件和MPLAB® XC16 C编译器的代码示例,这些代码示例使用通用C 接口(Common C Interface,CCI)。关于CCI 的更多信息,请参
    发表于 04-29 10:26 23次下载

    MPLAB XC16 C编译器用户指南

    电子发烧友网站提供《MPLAB XC16 C编译器用户指南.pdf》资料免费下载
    发表于 09-21 09:27 1次下载
    <b class='flag-5'>MPLAB</b> <b class='flag-5'>XC16</b> C<b class='flag-5'>编译器</b>用户指南