資料介紹
編譯指示(Pragma Directives)可能是所有的預(yù)處理指令中最復(fù)雜的了,它的作用是設(shè)定編譯器的狀態(tài)或者是指示編譯器完成一些特定的動作。#pragma指令對編譯器給出了如何處理特定的函數(shù)、對象和代碼段的方法,在保持與C/C++語言完全兼容的情況下,給出主機(比如C28x)或操作系統(tǒng)(比如DSP/BIOS)專有的特征。這些編譯指示的使用較為復(fù)雜,但是我們還必須要了解它們,因為它們是程序中必不可少的東西,例如#pragma DATA_SECTION ( symbol , “ section name ”);這樣的。但是往往講解它們的資料又不多(因為大部分資料集中在入門指南上面),所以在此我們就總結(jié)一下針對C28x編譯器的pragma指令,再遇到它們的時候就不會一頭霧水了。
1. CHECK_MISRA
它的作用與在編譯器選項中使用--check_misra是相同的,都是對特定源文件使能MISRA-C:2004規(guī)則檢查(汽車工業(yè)軟件可靠性聯(lián)會),使用方法是:
#pragma CHECK_MISRA (“ {all|required|advisory|none|rulespec} ”);
其中的rulespec是具體MISRA中的規(guī)則,使用方法請參考DSP編程技巧之12-揭開編譯器神秘面紗之代碼規(guī)范MISRA-C。
2. CLINK
CLINK指令可用于某段代碼或者某個數(shù)據(jù)符號,使用之后會在包含被作用符號的段中產(chǎn)生一個.clink指示,表明在條件鏈接的情況下,如果這個段沒有被其它任何段引用的話,這個段可以被移除,從而減小鏈接輸出文件的尺寸。使用方法是:
#pragma CLINK (symbol )
3. CODE_ALIGN
CODE_ALIGN用來沿著特定的對齊參數(shù)constant來對齊函數(shù)(從而可以讓CPU更快尋址,更快執(zhí)行指令)。當(dāng)我們希望函數(shù)從特定的邊界開始的時候,這個指令非常有用。參數(shù)constant必須是2的冪(偶數(shù)對齊),使用方法是:
C代碼: #pragma CODE_ALIGN ( func, constant );
C++代碼: #pragma CODE_ALIGN ( constant );
注:在本文中,在C和C++代碼中,指令使用方法一樣時,不分別寫出,如不一樣則分C代碼和C++代碼分別寫出。C代碼中的#pragma指令一般需指定函數(shù)名,也即其作用域;C++代碼中的#pragma指令一般不帶有函數(shù)名,其作用域為緊鄰該指令后面的函數(shù);下同。
4. CODE_SECTION
CODE_SECTION是較為常見的指令,默認(rèn)情況下,代碼被存放在.text段中,使用此指令則用來指定并改變某段代碼所分配的段,其使用方法是:
C代碼: #pragma CODE_SECTION (symbol , “section name ”)
C++代碼: #pragma CODE_SECTION (“ section name ”)
例如:
char bufferA[80];
char bufferB[80];
#pragma CODE_SECTION(funcA, “codeA”)
char funcA(int i);
char funcB(int i);
void main()
{
char c;
c = funcA(1);
c = funcB(2);
}
char funcA (int i)
{
return bufferA[i];
}
char funcB (int j)
{
return bufferB[j];
}
掃碼添加小助手
加入工程師交流群
- 基于FPGA和DSP的機載圖形顯示系統(tǒng) 36次下載
- DSP軟件編程與算法實現(xiàn) 25次下載
- 基于DSP的數(shù)字控制移相全橋變換器 53次下載
- PWM原理、電機控制器件及DSP生成PWM編程 103次下載
- 如何進(jìn)行DSP的軟件編程及使用算法實現(xiàn)的學(xué)習(xí)教程說明 17次下載
- DSP設(shè)計與應(yīng)用教程之匯編程序設(shè)計舉例的資料說明 19次下載
- DSP的編程指令全集詳細(xì)資料(免費下載) 8次下載
- DSP的C語言編程解析 23次下載
- DSP匯編編程及應(yīng)用舉例 24次下載
- DSP- CCS編程入門 21次下載
- 如何開始DSP編程資料 5次下載
- 使用CCS進(jìn)行DSP編程CCS編程入門 36次下載
- DSP編程技巧中數(shù)據(jù)類型的全解析 14次下載
- 如何開始DSP編程 22次下載
- DSP匯編語言編程基礎(chǔ)
- SN65LVDS302可編程27位串并接收器:設(shè)計與應(yīng)用全解析 419次閱讀
- F1975數(shù)字步進(jìn)衰減器:性能、編程與應(yīng)用全解析 155次閱讀
- 功率芯片PCB內(nèi)埋式封裝:從概念到量產(chǎn)的全鏈路解析(下篇:封裝工藝制程全解析) 1.6k次閱讀
- 技術(shù)干貨 | 從偏移誤差到電源抑制比,DAC核心術(shù)語全解析 487次閱讀
- DSP控制器的主要優(yōu)勢是什么? 2.2k次閱讀
- dsp是什么意思 dsp功放對音質(zhì)到底有沒有提升 2.7w次閱讀
- 基于DSP芯片PC機之間的USB接口設(shè)計 2.8k次閱讀
- 工業(yè)機器人主流離線編程軟件解析 4.5k次閱讀
- tms320c6000系列dsp編程工具與指南 淺談dsp編程 6.2k次閱讀
- S7-300編程超全超細(xì)講解 1.2w次閱讀
- jquery插件寫法及用法(jQuery插件開發(fā)全解析) 1.1w次閱讀
- 一文了解FPGA與DSP的區(qū)別、特點及用途 3.1w次閱讀
- 基于CPLD/DSP的賽車全電防滑剎車控制器設(shè)計 1.7k次閱讀
- DSP編程的關(guān)鍵問題分析 1.9k次閱讀
- 基于DSP的網(wǎng)絡(luò)通信程序設(shè)計 3.2k次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1489次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7基于單片機和 SG3525的程控開關(guān)電源設(shè)計
- 0.23 MB | 3次下載 | 免費
- 8基于單片機的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論