RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在MPLAB XC16編譯器內(nèi)建函數(shù)

麥辣雞腿堡 ? 來源:Microchip微芯 ? 作者:Microchip微芯 ? 2023-01-22 17:37 ? 次閱讀

MPLAB XC16編譯器提供了一系列內(nèi)建函數(shù),使C語言編程人員可以訪問目前只能通過行內(nèi)匯編訪問的匯編運算符或機器指令。內(nèi)建函數(shù)名都有一個前綴__builtin_,源代碼用C語言編寫,在句法上類似于函數(shù)調(diào)用,但它會被編譯成直接實現(xiàn)功能的匯編代碼,且不涉及函數(shù)調(diào)用或庫函數(shù)。

相比于使用行內(nèi)匯編,內(nèi)建函數(shù)具有以下優(yōu)勢:

1.提供專用的內(nèi)建函數(shù)可以簡化編碼。

2.使用行內(nèi)匯編時會禁止某些優(yōu)化功能,而使用內(nèi)建函數(shù)則不會。

3.對于使用專用寄存器的機器指令來說,編寫行內(nèi)匯編代碼時要特別注意避免寄存器分配錯誤。

而內(nèi)建函數(shù)使這個過程更簡單,無需考慮每個機器指令的特殊寄存器要求。內(nèi)建函數(shù)的編程接口和使用說明請參考《MPLAB XC16編譯器用戶指南》。

pYYBAGO5PWWAA4EdAAEUB2TN8to519.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4327

    瀏覽量

    62569
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1623

    瀏覽量

    49107
  • MPLAB
    +關(guān)注

    關(guān)注

    9

    文章

    215

    瀏覽量

    66860
收藏 人收藏

    評論

    相關(guān)推薦

    GCC內(nèi)建函數(shù)問題?。?!

    目前的代碼中使用了GCC的內(nèi)建函數(shù)__builtin_clz()和__builtin_popcount(),在CCS中編譯不能通過,請問,CCS是否有庫支持這兩個函數(shù),多謝!
    發(fā)表于 06-21 18:30

    MPLAB X IDE和XC16編譯器適用的頭文件是什么

    XC16編譯器必須有新的適用的頭文件。有人有建議嗎?順便說一下,我能夠成功地使用SPI總線進行文本討論,從而成功地實現(xiàn)了SPI通信。 以上來自于百度翻譯 以下為原文 I'm using Explorer
    發(fā)表于 03-20 12:08

    MPLAB-X 3.55無法識別XC16編譯器

    一周前安裝它)。GC30編譯器是在C:\Studio\Microchip \ MPLABC30\v3.31中,為什么MPLAB-X找不到XC16????? 以上來自于百度翻譯 以下為原文 I am
    發(fā)表于 04-01 14:39

    xc16編譯器編譯延遲向量

    大家好。和平在每個人身上。要編譯長代碼的所有部分,而我的編譯器XC16 V 1.31處于優(yōu)化級別。S是代碼的一部分。當(dāng)在S模式下編譯時,它不編譯
    發(fā)表于 04-17 08:48

    XC16編譯器編譯失敗

    這段代碼用XC16編譯器編譯失?。焊郊俏业腗PLABX項目。誰能告訴我如何使用_u prog_storage類和ANSI編譯選項?
    發(fā)表于 04-03 07:13

    內(nèi)置函數(shù)真的內(nèi)置到XC16編譯器嗎?

    內(nèi)置函數(shù)是否在“庫”中,或者它們真的“內(nèi)置”到XC16編譯器嗎?不可能從編譯器中分離出任何未使用的內(nèi)置代碼,就像圖書館那樣嗎?我在PIC33E中使用以下內(nèi)容:u
    發(fā)表于 05-07 11:26

    MPLAB XC編譯器免費下載

    MPLAB XC編譯器免費下載
    發(fā)表于 11-23 16:07 ?58次下載

    MPLAB IDE X v2.00軟件免費下載

    MPLAB X IDE v2.00按照單片機的位數(shù),有XC8、XC16XC32,三款編譯器,可以有選擇的安裝也可以都安裝上去。
    發(fā)表于 04-17 17:26 ?233次下載
    <b class='flag-5'>MPLAB</b> IDE X v2.00軟件免費下載

    MPLAB X v2.10軟件下載

    MPLAB X IDE v2.00按照單片機的位數(shù),有XC8、XC16、XC32,三款編譯器,可以有選擇的安裝也可以都安裝上去。
    發(fā)表于 04-17 18:24 ?220次下載
    <b class='flag-5'>MPLAB</b> X v2.10軟件下載

    MPLAB? XC8 C編譯器的架構(gòu)特性

    本視頻介紹了MPLAB? XC8 C編譯器的架構(gòu)特性。該編譯器編譯過程不同于傳統(tǒng)的編譯器,采用
    的頭像 發(fā)表于 05-23 12:47 ?6025次閱讀
    <b class='flag-5'>MPLAB</b>? <b class='flag-5'>XC</b>8 C<b class='flag-5'>編譯器</b>的架構(gòu)特性

    如何將C源代碼從MPLAB C18編譯器移植到MPLAB XC8C編譯器的詳細(xì)概述

    本文檔介紹了針對PIC18 MCU的MPLAB? C編譯器(以前的說法,本文檔稱為MPLAB C18)與MPLAB XC8 C
    發(fā)表于 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>的詳細(xì)概述

    MPLAB? XC16的詳細(xì)用戶指南

    本文主要介紹了MPLAB? XC16的詳細(xì)用戶指南
    發(fā)表于 06-05 17:29 ?58次下載

    安裝MPLAB XC C編譯器并獲取許可證

    安裝MPLAB XC C編譯器并獲取許可證說明。
    發(fā)表于 04-29 09:42 ?16次下載

    面向嵌入式工程師的MPLAB XC16用戶指南

    本文檔介紹了5個適用于16位器件和MPLAB? XC16 C編譯器的代碼示例,這些代碼示例使用通用C 接口(Common C Interface,CCI)。關(guān)于CCI 的更多信息,請參
    發(fā)表于 04-29 10:26 ?25次下載

    MPLAB XC16 C編譯器用戶指南

    電子發(fā)燒友網(wǎng)站提供《MPLAB XC16 C編譯器用戶指南.pdf》資料免費下載
    發(fā)表于 09-21 09:27 ?1次下載
    <b class='flag-5'>MPLAB</b> <b class='flag-5'>XC16</b> C<b class='flag-5'>編譯器</b>用戶指南
    RM新时代网站-首页