Pointers指針Cx51支持使用字符*來(lái)聲時(shí)一個(gè)指針類型的變量。Cx51的指針可以完成標(biāo)準(zhǔn)C的所有功能。然而,由于8051及其變種的特殊構(gòu)架,Cx51使用兩種類的指針: memory-specific pointers and generic pointers(特定存
Accessing Absolute Memory Locations絕對(duì)存儲(chǔ)器訪問(wèn)C編程語(yǔ)言并不支持明確地提定一個(gè)靜態(tài)或全部變量的存儲(chǔ)位置。有三種方法可以明確地參考存儲(chǔ)器位置:(1)絕對(duì)存儲(chǔ)器訪問(wèn)宏(2)連接器位置控制(3)關(guān)鍵字_at_Abs
Function Declarations函數(shù)聲明Cx51對(duì)標(biāo)準(zhǔn)C進(jìn)行了一定的擴(kuò)展,使用這些擴(kuò)展可以:(1)把一個(gè)函數(shù)聲明為一個(gè)中斷過(guò)程(2)選擇使用的寄存器組(3)選擇存儲(chǔ)器模式(4)聲時(shí)可重入(5)聲明外部函數(shù)在函數(shù)聲中包含這些
Register Usage寄存器應(yīng)用匯編程序可以在改變當(dāng)前寄存器組中所有寄存器和ACC,B,DPTR以及PSW中的內(nèi)容。當(dāng)在匯編程序中調(diào)用C函數(shù)時(shí),要注意這些寄存器都有可能被C函數(shù)改變。Overlaying Segments段覆蓋如果程序在連接
Cx51對(duì)ANSI標(biāo)準(zhǔn)C進(jìn)行了擴(kuò)展。這些擴(kuò)展的大部分是為了支持8051系統(tǒng)的構(gòu)架。這些擴(kuò)展有:8051上的存儲(chǔ)器類型和區(qū)域l 存儲(chǔ)器模型l 存儲(chǔ)器類型指示l 變量類型指示l 位變量和可位尋址數(shù)據(jù)l 特殊功能寄存器l 指針l 函數(shù)屬性
STM8想用C語(yǔ)言編程,很多人都是用的STVD+COSMIC對(duì)于軟件的安裝破解什么的,網(wǎng)上搜搜有一大堆,這里就不解釋了這里說(shuō)說(shuō)STVD的編譯的事情,STVD本身只支持匯編語(yǔ)言,想用C還得借助COSMIC,所以一些設(shè)置是必須的,就是在
如果是編譯PIC10、PIC12、PIC16系列單片機(jī),用CCS最好。而PIC18/PIC24/dsPIC/PIC32系列,用MCC最好。PIC單片機(jī)的C編譯器只有HI-TECH公司出品PICC編譯器,和CCS公司的CCS編譯器。還有PIC的生產(chǎn)商Microch
介紹HI-TECH公司C編譯器的原理和PICCl8命令行驅(qū)動(dòng)器的工作過(guò)程,并以解決程序代碼限制和庫(kù)文件的生成、使用為例,說(shuō)明其具體實(shí)現(xiàn)方法,解決采用PICCl8進(jìn)行應(yīng)用的實(shí)際工程問(wèn)題。
ARM 編譯程序通常將全局變量對(duì)齊到自然尺寸邊界上,以便通過(guò)使用 LDR和 STR 指令有效地存取這些變量。這種內(nèi)存訪問(wèn)方式與多數(shù) CISC (Complex Instruction Set Computing)體系結(jié)構(gòu)不同,在CISC體系結(jié)構(gòu)下,指令直接存取未對(duì)齊的數(shù)據(jù)。因而,當(dāng)需要將代碼從CISC 體系結(jié)構(gòu)向 ARM 處理器移植時(shí),內(nèi)存訪問(wèn)的地址對(duì)齊問(wèn)題必須予以注意。在RISC體系結(jié)構(gòu)下,存取未對(duì)齊數(shù)據(jù)無(wú)論在代碼尺寸或是程序執(zhí)行效率上,都將付出非常大的代價(jià)。
因ICD2是在線仿真,所以會(huì)占用部分芯片資源。但編譯器的鏈接文件不夠聰明,不知道哪些資源會(huì)被ICD2占用,有可能鏈接器分配的ROM和RAM空間恰巧是被ICD2占用的,會(huì)引起用戶程序和ICD2的調(diào)試程序發(fā)生沖突,通常表現(xiàn)為調(diào)
多數(shù)嵌入式應(yīng)用程序最初都是在原型環(huán)境下開發(fā)的。無(wú)論什么樣的原型仿真環(huán)境與最終產(chǎn)品環(huán)境都是有差異的。因此,考慮如何將嵌入式應(yīng)用程序從其所依賴的開發(fā)工具或調(diào)試環(huán)境中移植到在目標(biāo)硬件上獨(dú)立運(yùn)行是非常重要的。
編譯器一項(xiàng)很重要的優(yōu)化功能就是對(duì)寄存器的分配。與分配在寄存器中的變量相比,分配到內(nèi)存的變量訪問(wèn)要慢得多。所以如何將盡可能多的變量分配到寄存器,是編程時(shí)應(yīng)該重點(diǎn)考慮的問(wèn)題。
ARM C編譯器支持基本的數(shù)據(jù)類型:char、short、int、long long、float和double。表14.2說(shuō)明了armcc對(duì)C語(yǔ)言所使用的數(shù)據(jù)類型的映射。
一、MC68K CPU簡(jiǎn)介 MC68K及68020、68040等的著名的MOTOROLA32位微處理器,和與之兼容的68K、CPU32、CPU32+等CPU擴(kuò)充定時(shí)處理單元TPU、隊(duì)列串行模塊QSM、系統(tǒng)控制模塊和RAM等組成MC683xx系列單片機(jī)。
ARM C/C++編譯器可以被使用在UNIX和Windows/MS-DOS環(huán)境下。ARM C++編譯器遵守C++的國(guó)際標(biāo)準(zhǔn)ISO/IEC 14822:1998。ARM C/C++編譯器可以編譯多種格式的C/C++源代碼,其中包括ANSI C、EC++、C++。表1列出
TMS320X28xx編譯器的接口有以下特點(diǎn)。 1.編譯器shell程序 編譯器包含一個(gè)shell程序(cl2000—v28),可以用來(lái)單步完成程序的編譯、匯編和鏈接。shell程序通過(guò)下列工具實(shí)現(xiàn)一個(gè)或多個(gè)代碼模塊的操作,如圖1所示。 ●
1.集成的預(yù)處理器(Integrated Preprocessor) C/C++的預(yù)處理器集成在分析器工具中,可以提高代碼的編譯速度。用戶可以只進(jìn)行預(yù)處理也可以將預(yù)處理列表 保存在文件中。TMS320X28xx的C/C++編譯器包含杯準(zhǔn)的預(yù)處理功能
下面說(shuō)明源代碼編譯器工具的主要特點(diǎn)。 ●源代碼交疊工具(Source Interlist Feature)。編譯器工具中包含一個(gè)源代碼交疊工具,它把C/C++語(yǔ)句和編譯后的匯編語(yǔ)句對(duì)應(yīng)交疊在一起。用戶可以使用這個(gè)工具觀察與C/C++語(yǔ)句
意法半導(dǎo)體全資子公司Portland Group宣布支持 Linux、Mac OS X和Windows三大操作系統(tǒng)的PGI 9.0版高性能并行編譯器及開發(fā)工具系列產(chǎn)品正式上市。PGI 9.0版編譯器是首款在含有英偉達(dá)(NVIDIA)CUDA圖形處理器(GPU)的基于
作者:穆煜,華清遠(yuǎn)見嵌入式學(xué)院講師。 Qt的元對(duì)象系統(tǒng)是用來(lái)處理對(duì)象間通信的信號(hào)和槽,它運(yùn)行信息類型和動(dòng)態(tài)屬性。Qt的元對(duì)象系統(tǒng)包括以下3個(gè)部分的內(nèi)容: (1)QObject類; (2)類聲明私有段中的Q_OBJECT宏; (