當前位置:編程學習大全網 - 編程語言 - sdcc版是啥意思

sdcc版是啥意思

SDCC(Small Device C Compiler)是壹個優化的 ANSI - C交叉編譯器,目標CPU為基於Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的單片機。

SDCC同時帶有壹個源代碼級調試工具SDCDB,使用的是Daniel's s51?仿真器當前版本。SDCC是由Sandeep Dutta 所寫的,並依據GPL license 發行。

sdcc的特點:

1、SDCC的sdas和sdld 是基於ASXXXX的交叉編譯工具和鏈接工具,他們都是免費開源的軟件,依據GNU General Public License (GPL) 發布。

2、有針對特定MCU的編程語言擴展,可以高效的使用基本的硬件資源。

3、有大量的標準優化,如全局字表達式削減,循環優化(無任何操作的循環優化,歸納變量循環優化,逆循環優化), 常量合並的傳播,復制傳播,死代碼刪除, 'switch'語句的轉移表優化。

4、針對特定MCU的優化,包括全局寄存器分配算法。

5、特定MCU後端適應能力,能夠很好的適配其他的8位的MCU。

擴展資料:

交叉編譯出現和流行是和嵌入式系統的廣泛發展同步的。常用的計算機軟件,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼(比如C代碼)編譯(compile)成計算機可以識別和執行的二進制代碼。

比如,在Windows平臺上,可使用Visual C++開發環境,編寫程序並編譯成可執行程序。這種方式下,我們使用PC平臺上的Windows工具開發針對Windows本身的可執行程序,這種編譯過程稱為native compilation,中文可理解為本機編譯。

然而,在進行嵌入式系統的開發時,運行程序的目標平臺通常具有有限的存儲空間和運算能力,比如常見的 ARM 平臺,其壹般的靜態存儲空間大概是16到32MB,而CPU的主頻大概在100MHz到500MHz之間。

這種情況下,在ARM平臺上進行本機編譯就不太可能了,這是因為壹般的編譯工具鏈(compilation tool chain)需要很大的存儲空間,並需要很強的CPU運算能力。

為了解決這個問題,交叉編譯工具就應運而生了。通過交叉編譯工具,我們就可以在CPU能力很強、存儲空間足夠的主機平臺上(比如PC上)編譯出針對其他平臺的可執行程序。

要進行交叉編譯,要在主機平臺上安裝對應的交叉編譯工具鏈(cross compilation tool chain),然後用這個交叉編譯工具鏈編譯我們的源代碼,最終生成可在目標平臺上運行的代碼。

百度百科-sdcc

百度百科-交叉編譯器

  • 上一篇:編程最深情的網名
  • 下一篇:求大學生職業生涯規劃人物訪談總結
  • copyright 2024編程學習大全網