MPLAB XC16编译器提供了一系列内建函数,使C语言编程人员可以访问目前只能通过行内汇编访问的汇编运算符或机器指令。内建函数名都有一个前缀__builtin_,源代码用C语言编写,在句法上类似于函数调用,但它会被编译成直接实现功能的汇编代码,且不涉及函数调用或库函数。
相比于使用行内汇编,内建函数具有以下优势:
1.提供专用的内建函数可以简化编码。
2.使用行内汇编时会禁止某些优化功能,而使用内建函数则不会。
3.对于使用专用寄存器的机器指令来说,编写行内汇编代码时要特别注意避免寄存器分配错误。
而内建函数使这个过程更简单,无需考虑每个机器指令的特殊寄存器要求。内建函数的编程接口和使用说明请参考《MPLAB XC16编译器用户指南》。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4317浏览量
62487 -
编译器
+关注
关注
1文章
1618浏览量
49075 -
MPLAB
+关注
关注
9文章
215浏览量
66813
发布评论请先 登录
相关推荐
GCC内建函数问题!!!
目前的代码中使用了GCC的内建函数__builtin_clz()和__builtin_popcount(),在CCS中编译不能通过,请问,CCS是否有库支持这两个函数,多谢!
发表于 06-21 18:30
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编译器吗?不可能从编译器中分离出任何未使用的内置代码,就像图书馆那样吗?我在PIC33E中使用以下内容:u
发表于 05-07 11:26
MPLAB IDE X v2.00软件免费下载
MPLAB X IDE v2.00按照单片机的位数,有XC8、XC16、XC32,三款编译器,可以有选择的安装也可以都安装上去。
发表于 04-17 17:26
•233次下载
MPLAB X v2.10软件下载
MPLAB X IDE v2.00按照单片机的位数,有XC8、XC16、XC32,三款编译器,可以有选择的安装也可以都安装上去。
发表于 04-17 18:24
•220次下载
如何将C源代码从MPLAB C18编译器移植到MPLAB XC8C编译器的详细概述
本文档介绍了针对PIC18 MCU的MPLAB® C编译器(以前的说法,本文档称为MPLAB C18)与MPLAB XC8 C
发表于 06-07 09:28
•30次下载
面向嵌入式工程师的MPLAB XC16用户指南
本文档介绍了5个适用于16位器件和MPLAB® XC16 C编译器的代码示例,这些代码示例使用通用C 接口(Common C Interface,CCI)。关于CCI 的更多信息,请参
发表于 04-29 10:26
•25次下载
评论