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編譯器用戶指南》。
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62992 -
編譯器
+關(guān)注
關(guān)注
1文章
1642瀏覽量
49306 -
MPLAB
+關(guān)注
關(guān)注
9文章
217瀏覽量
67034
發(fā)布評論請先 登錄
相關(guān)推薦
GCC內(nèi)建函數(shù)問題?。?!
MPLAB X IDE和XC16編譯器適用的頭文件是什么
MPLAB-X 3.55無法識別XC16編譯器
xc16編譯器不編譯延遲向量
內(nèi)置函數(shù)真的內(nèi)置到XC16編譯器嗎?
MPLAB IDE X v2.00軟件免費下載
![<b class='flag-5'>MPLAB</b> IDE X v2.00軟件免費下載](https://file.elecfans.com/web1/M00/4F/3B/pIYBAFrVvnOAExtQAAIAQTG2-8I513.png)
MPLAB X v2.10軟件下載
![<b class='flag-5'>MPLAB</b> X v2.10軟件下載](https://file.elecfans.com/web1/M00/4F/3C/pIYBAFrVy6qAJ8m1AAIM44EAUmc562.png)
如何將C源代碼從MPLAB C18編譯器移植到MPLAB XC8C編譯器的詳細概述
![如何將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>的詳細概述](https://file.elecfans.com/web1/M00/52/F1/pIYBAFsYqfmAJIh9AACRTaIAtmw014.png)
評論