新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 牛人業(yè)話(huà) > DSP編程技巧之25---C/C++與匯編語(yǔ)言的交互之-(3)使用編譯器的內(nèi)聯(lián)函數(shù)

DSP編程技巧之25---C/C++與匯編語(yǔ)言的交互之-(3)使用編譯器的內(nèi)聯(lián)函數(shù)

作者:paradoxfx 時(shí)間:2014-11-10 來(lái)源:電子產(chǎn)品世界 收藏

  在混合編程的情況下,一般我們都會(huì)選擇來(lái)實(shí)現(xiàn)所期待的功能。在我們用來(lái)實(shí)現(xiàn)某些位操作、數(shù)學(xué)運(yùn)算等功能后,編譯器會(huì)盡可能地把它們編譯為一些已經(jīng)高度優(yōu)化的匯編函數(shù)(內(nèi)聯(lián)函數(shù)),一般情況下是一條或者多條匯編指令的集合,在封裝之后,我們可以在C/C++編程的時(shí)候直接使用這樣的內(nèi)聯(lián)函數(shù)。如果不直接使用它們,那么在單步調(diào)試的時(shí)候,也可以從C/C++代碼編譯生成的匯編代碼中找到對(duì)應(yīng)的內(nèi)聯(lián)函數(shù),能夠幫助我們加深對(duì)編譯和代碼執(zhí)行的理解。這些編譯器的內(nèi)聯(lián)函數(shù)都有一個(gè)顯著的外觀,即以?xún)蓚€(gè)下劃線(xiàn)作為開(kāi)頭,而使用方法則與C/C++編程中函數(shù)的調(diào)用形式是一樣的。例如:

本文引用地址:http://2s4d.com/article/265102.htm

  long lvar;

  int ivar;

  unsigned int uivar;

  lvar = __mpyxu(ivar, uivar);

  下面我們就列舉一下TMS320C28x C/C++ 編譯器的內(nèi)聯(lián)函數(shù)。為了方便對(duì)比說(shuō)明,表格并不是完全安裝函數(shù)名的字母順序來(lái)排列的。

  表1 TMS320C28x C/C++ 編譯器的內(nèi)聯(lián)函數(shù)列表






表2 TMS320C28x C/C++ 編譯器的內(nèi)聯(lián)函數(shù)列表-面向FPU

逆變器相關(guān)文章:逆變器原理


可控硅相關(guān)文章:可控硅工作原理


逆變器相關(guān)文章:逆變器工作原理


比較器相關(guān)文章:比較器工作原理


c++相關(guān)文章:c++教程




關(guān)鍵詞: DSP C/C++ 匯編語(yǔ)言

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉