㈠ 什麼手機軟體能看c語言文件
可以下載C語言學習的APP進行查看。
解決這個問題的方法如下:
1、首先點擊打開C語言學習軟體。
㈡ 求Symbian 3rd下的C/C++編譯器或者解釋器(解決給1000分!)
呵呵,我N73裝了個C++,覺得不怎麼爽 昨天剛刪掉
幫你辛苦的找了一些東西,呵呵,關於S60 C++的Standard C++ library(一定要給分呀)
全球移動創新領域的領先平台,基於Symbian操作系統的S60今天宣布其Web Run-Time提供可以創建個性化的和能感知情境的widgets。S60是首個支持widgets開發的移動軟體平台。它使網路開發者能夠開發更具吸引力的、更貼近消費者需求的服務。另外,通過增加對一些廣受歡迎不受平台限制的C++ libraries的支持,S60為本地的應用開發的開源創新提供了更多選擇。
「我們擴展的Web Run-Time和widget功能擁有改變移動軟體發展的規模效應潛力。任何擁有Web開發經驗的人,現在都能夠在幾天甚至幾小時內創建非常優秀的移動應用,極大程度地減少開發費用,並進一步開發更多的應用,」諾基亞移動軟體銷售和市場副總裁Matti Vänskä說。「另外,通過增加個人數據(如通過GPS得到用戶所在位置信息),能夠為用戶提供更強大、更貼近個人需求的互聯網服務。從此類服務中所得到的用戶體驗將超越桌面環境所能提供的互聯網體驗。」
移動性從根本上改變了人們使用互聯網的方式。它是個人的,始終與你在一起,並且是永遠連接的。進一步增強widgets能力也是基於此-滿足Web標準的應用–因為他們能夠獲取S60豐富的應用與服務,如日歷、通訊錄、GPS、短消息、音頻、視頻。Widgets也能夠將從互聯網上獲得的信息,重新選擇,整合至用戶的移動終端設備。
S60通過結合Web與S60平台的力量,推動激動人心的新服務。例如,一個天氣的widget現在能夠通過內置GPS功能獲取用戶當前位置,並在片刻內顯示出那個位置最新的天氣預報。飛機航班跟蹤widget從航空公司取得用戶的路線表,將它存入移動終端中的日歷功能中,並設定相關時間提醒功能。在飛機起飛前的幾個小時,這個widget會自動地為用戶查詢航班狀況,在移動終端的日歷功能中顯示航班詳鋒昌細資料。
「作為最早的網頁實時發展(S60 Web Run-Time)平台的使用者之一,我們發現它利用諾基亞最新的Web技術,便捷地移植我們廣受歡迎的桌面WeatherBug Widget,將我們實時的當地天氣信息延展到移動終端上。」WeatherBug產品部副總裁Chris Brozenick表示。「我們同樣已能夠平衡S60平台服務,以提供連同合作夥伴信息一起的情境感知的天氣數據,如本地電影和餐館信息。這真正地幫助我們最大化地利用移動性,並全面提高我們的widget可用性和用戶體驗。」
為支持S60軟體戰略與多平台發展戰略,S60同樣也在擴展它通過Open C++對開源創新的支持。它將Standard Template Library和其它廣受歡迎的跨越平台的C++ libraries引入到S60平台,如去年宣布的延展Open C功能。同時,Open C和Open C++為開發夥伴創造機會,將開發夥伴現有的在其它平台上的技能與編碼利用到他們S60的開發項目中,包括目標於linux和其它平台的開源成分。
基於Symbian操作系統的S60是世界領先的智能手機高基改軟體,並不斷發展,並且授權行業主要移動終端廠商使用。今天的發布將進一步加強S60的市場領導地位(2008年1月,Canalys公司報告顯示,S60佔全球融合終端市場的份額已超過53%)。迄今為止,累計有超過1.5億部由諾基亞和獲得S60授權許可的廠商生產的S60終端面市,已推出的75款S60終端為用戶提供最全面涵蓋不同價格範圍的產品戚判系列。
Categories: Lang-CN | python
中文 Python for S60: 為S60終端快速創建應用
From Forum Nokia Wiki
Python for S60: 為S60終端快速創建應用
1. 簡介 1.1 什麼是Python 1.2 什麼是Python for S60 2. Python for S60概述 2.1 使用Python for S60的優點 2.2 Python for S60的特性 2.3 安裝包 3. Python for S60的開發 3.1 開發環境 3.2 向S60 SDK安裝Python for S60 3.3 向S60終端安裝Python for S60 3.4 一步一步編寫『Helloworld』腳本 4. 參考文獻
1. 簡介本文介紹如何在S60 SDK和S60手機上安裝Python,以及如何創建、安裝及使用Python腳本和程序,它們將利用S60手機的本地功能和資源。本文讀者應具備編程方面的基本知識,如已掌握Python編程語言則更佳。 1.1 什麼是Python Python是一種簡單、一致、高效的編程語言。它是開源的,可用於應用開發、原型研製、科學計算、Web編程及教學等目的。 Python的設計目的是:讓程序員具有更高的生產率,讓代碼具有更強的可讀性和可擴展性,其特性有:
Python是一種解釋性、交互性、面向對象的腳本編程語言
Python的功能強大,語法清晰,容易掌握
內置dictionaries, lists, strings等高效數據類型
通過引用計數(reference counting)和垃圾回收(garbage collection) 實現的自動內存管理
支持異常處理
有關Python編程語言方面的更多信息請參閱:http://www.python.org/
1.2 什麼是Python for S60 Python for S60 Platform (Python for S60) 對應用開發作了簡化,提供面向Symbian C++和S60 API的腳本解決方案。現有版本基於Python 2.2.2。 Python for S60方案基於兩種用例: 1. 獨立安裝 – 本質上這使各種Python應用與本地Symbian應用毫無區別,用戶並不能看出這是一個Python應用還是C++應用。應用在終端主菜單中可見。本文不討論獨立Python應用的創建。 2. 在終端菜單中可見的腳本shell,使用戶能運行單獨的Python腳本。本文所討論的Python執行環境也僅僅是一個Python腳本,它讓我們能運行存在於Python文件夾中的其它Python腳本。這個執行環境也能使用戶們能發起一個交互性Python控制台會話,這也被實現成一個Python腳本。此外,Python執行環境能創建一個文本控制台,它被連接到解釋器的標准文本輸出流。Python已全面實現了對Python安裝器和互動式控制台的支持。提示:諾基亞論壇網站上的Python for S60開發夥伴討論區是有關Python for S60相關信息的有用資源:http://discussion.forum.nokia.com/forum/forumdisplay.php?f=102
2.Python for S60概述 Python for S60將Python編程語言引入到S60手機,它支持許多Python Standard Library模型,同時也支持用C++創建自己的python擴展。 2.1 使用Python for S60的優點 Python for S60非常適合於快速開發:
開發時間短(從創意到實現的捷徑)
快速掌握
只需要一些腳本語言知識就能在短時間內創建實際應用
簡單一致的語言,清晰的代碼結構
能方便地重用各種庫、類,和函數
非常適合於入門階段為基於S60平台的終端創建應用
開發周期短(節省開發時間和成本)
2.2 Python for S60的特性 Python for S60包括一些平台特定模塊:
GUI: 菜單(Menu),表單(Forms),列表框(Listboxes),輸入欄位(Input fields),提示
(Notes)…
圖形:顏色,字體與樣式屬性,full canvas繪圖
鍵盤使用
使用照相機,聲音(播放錄像)
Sockets: TCP/IP, 藍牙 (RFCOMM, OBEX)
消息(SMS發送和接收)
網路(HTTP, HTTPS, FTP…)
訪問文件系統(文件讀/寫)
內容句柄(Content handler)
使用電話功能
使用日歷、名片夾
系統信息
註:由於平台安全方面的問題,對在S60 3rd Edition上開發會有一些限制 2.3 安裝包
安裝到S60終端上的Python for S60包括下面一些內容:
Python執行環境,在終端主菜單上可見(腳本shell)
Python解釋器DLL
標准及專有的Python庫模塊
S60 UI應用框架適配組件
Python安裝器程序,用於在終端上安裝Python文件,包括:
識別插件
編寫的Symbian應用
3.Python for S60的開發 3.1 開發環境
本節介紹:除了Python for S60安裝包之外您還需要什麼,以便執行不同的任務。Python for S60使用下列開發環境和軟體:
Symbian S60 SDK,請去http://www.forum.nokia.com/下載
Python for S60,請去http://sourceforge.net/projects/pys60/下載
文本編輯器,如:IDLE (Integrated Development Environment,集成開發環境), 已包括在所有Python版本中,請去http://www.python.org/下載
移動終端和PC間的連接(紅外、藍牙無線技術、USB,GSM或UMTS蜂窩連接)
3.2 向S60 SDK安裝Python for S60 您可以向所有獲支持的SDK版本分別安裝Python模擬器和範例腳本。請選擇下面的安裝器:
Python or60_1_2_for_2ndEd_FP1_SDK.zip – 針對SDK version 2.1的安裝器
Python orS60_1_2_for_2ndEd_FP2_SDK.zip– 針對SDK 2nd Edition, Feature Pack 2的安裝器
PythonForS60_1_2_for_2ndEd_FP3_SDK.zip – 針對SDK 2nd Edition, Feature Pack 3的安裝器
PythonForS60_1_3_17_SDK_3rdEd_selfsigned.zip – 針對SDK 3rd Edition的安裝器
啟動安裝器程序並按照指示操作,安裝器會詢問客戶文檔和工具所安裝的文件夾位置,它和所有SDK版本一樣都在同一個目錄。
註:在SDK 3rd Edition上安裝Python模擬器, 直接將PythonForS60_1_3_17_SDK_3rdEd_selfsigned.zip 包解壓, 將PythonForS60_SDK_3rdEd\sdk_files\epoc32 目錄復制到您的SDK安裝文件的根目錄安裝器將一些模擬器文件和範例腳本復制到下列目錄 <EPOCROOT>\Epoc32\Release\wins\udeb\z\system\apps\python 這里<EPOCROOT>是您的SDK安裝文件的根目錄。註:run_script命令要求腳本位於目錄<EPOCROOT>\Epoc32\Release\wins\udeb\z\system\apps\python或其子目錄。您可以復制範例腳本的副本,然後對副本進行編輯。
註:如果修改腳本,您無需重起Python執行環境。使用模擬器就如使用手機上的Python for S60。
3.3 向S60終端安裝Python for S60 在S60終端上安裝Python for S60 文件有兩種方法:
諾基亞PC套件軟體,更多信息請參閱http://www.forum.nokia.com/網站
紅外或藍牙
如果您使用諾基亞PC套件並在套件上看到相應的SIS文件,請點擊PythonForS60_1_3_17_2ndEd.SIS及PythonScriptShell_1_3_17_2ndEd.SIS文件。這時會自動安裝執行環境,但是您需要在手機上確認接受。您可以向所有獲支持的終端版本分別安裝Python for S60和範例腳本
註:您必須根據您的終端版本安裝相應版本的Python for S60。您也可以使用紅外埠或藍牙無線技術從PC直接安裝Python for S60。 3.4 一步一步編寫『Helloworld』腳本下面的範例使用名為appuifw的Python for S60特別擴展模塊,演示如何編寫您自己的Python腳本。有關appuifw模塊方面的信息請參閱Python for Series 60 Platform API參考資料[2]。 1.打開文本編輯器。 寫入下列命令行(第一行是注釋):
Hello from appuifw
import appuifw appuifw.note(u"Hello World!", "info") 2. 將文件保存為hello.py。(在模擬器上,將其保存到腳本目錄<EPOCROOT>\Epoc32\Release\wins\udeb\z\system\apps\python,並跳過後面的步驟。) 3. 進入文件保存位置右鍵點擊該文件。 4. 將該文件發送到手機。 5. 將該文件保存為Python腳本。
註:run_script命令要求該腳本位於目錄<drivename>:\System\Apps\Python − 這里<drivename>是安裝Python for S60包的位置 − 或位於其子目錄。 6. 現在請在主菜單中啟動Python測試您的腳本。在手機主菜單中選擇Python圖標(見圖1)。Python啟動,並顯示一段版權文字。 7. 如欲從菜單中啟動一個Python腳本,請選擇Options > Run script。這時出現一個對話框,其中顯示所有已安裝在Python環境中的腳本,選擇「Helloworld.py" (見圖2-3)
Figure 1圖 Figure 2圖 Figure 3圖
4. 參考文獻
1. Python網站,http://www.python.org/
2. 諾基亞論壇,http://www.forum.nokia.com,《Python for Series 60 Platform API參考資料》
3. 諾基亞論壇,http://www.forum.nokia.com,《用Python for Series 60 Platform編程》
4. Python for S60 Wiki http://wiki.source.nokia.com/projects/Python_for_S60
5. Python for S60開發夥伴討論區 http://discussion.forum.nokia.com/forum/forumdisplay.php?f=102
6. PyS60教程:http://www.mobilenin.com/
7. 更多信息,http://www.forum.nokia.com/
平台提供:http://www.kaola.cn
㈢ 手機c語言編程app
手機c語言編程app有《C語言學習寶典》、《C語言編譯器》、《C語言編譯器IDE》、《菜鳥學C語言》、《手機編程》。
1、《C語言學習寶典》
就算沒有電腦也能夠完成手機編程,專業客服在線幫你解答任何問題,超多趣味工具製作出簡單的APP,來自各路的大神分享自己的原創教程,通俗易懂的教學案例讓你一看就懂。
c語言編程介紹
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。㈣ 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(4)塞班C語言編譯器擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
㈤ 手機上有c語言編程軟體嗎
如果在手機上學C語言編程,可以試試名為易歷知食的軟體,其內部有項功能叫微C程序設計,可以在手機上進行C語言編程練習,其自帶的示例如下圖:
最簡單的入門程序:
㈥ 手機c語言編程軟體哪個好
C4droid中文版可以說是款Android設備上的最強的 C/C++ IDE,支持多種圖形庫: SDL、SDL2 (需安裝sdl plugin for c4droid)、QT(需安裝CuteLoadear)等,還支持導出APK!
㈦ C語言編譯器有手機版的嗎塞班三的
有的,可正野岩以到塞班論壇搜脊散索」編程易「,不過需要PY平台支持,你也可以在塞班論壇舉御搜索」真天舞的大蟒蛇平台「。
㈧ 在Ubuntu上寫C語言通常用什麼編譯器
ubuntu是linux系統的桌面版,自帶了c語言編譯器(gcc),編譯c語言步驟如下:
1、寫好一個c文件
2、打開終端(Ctrl+Alt+T)
3、進入c文件所在目錄
4、輸入:gcc xx.c -o xx
5、編譯成功生成執行文件xx,運行輸入: ./xx 即可看到結果
㈨ c語言用什麼編譯器
c語言可以用的編譯器有很多,包括MicrosoftVisualC++、MyEclipse、TurboC和gcc編譯器等。㈩ 學C語言現在最好用的編程軟體
GNU編譯器套裝
開發 The GNU Project
最新版本 4.4.2 / 2009-10-15(2個月前)
操作系統 跨平台
類型 編譯器
許可協議 GPL
網站 gcc.gnu.org
GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由GNU開發的編程語言編譯器。它是一套以GPL及LGPL許可證所發行的自由軟體,也是GNU計劃的關鍵部分,亦是自由的類Unix及蘋果計算機Mac OS X 操作系統的標准編譯器。GCC(特別是其中的C語言編譯器)也常被認為是跨平台編譯器的事實標准。
GCC原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC很快地擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java,以及Ada與其他語言。
目錄
[隱藏]
* 1 概觀
* 2 目前支持的語言
o 2.1 內嵌OpenMP支持
* 3 支持的處理器架構
* 4 結構
o 4.1 前端介面
o 4.2 中介介面
o 4.3 後端介面
* 5 替GCC程序除錯
* 6 參考書目及注釋
* 7 參閱
* 8 更多閱讀
* 9 外部鏈接
[編輯] 概觀
GCC是由理查德·馬修·斯托曼在1985年開始的。他首先擴增一個舊有的編譯器,使它能編譯C,這個編譯器一開始是以Pastel語言所寫的。Pastel是一個不可移植的Pascal語言特殊版,這個編譯器也只能編譯Pastel語言。為了讓自由軟體有一個編譯器,後來此編譯器由斯托曼和Len Tower在1987年[1]以C語言重寫[2]並成為GNU項目的編譯器。GCC的建立者由自由軟體基金會直接管理[3]。
在1997年,一群不滿GCC緩慢且封閉的創作環境者,組織了一個名為EGCS《Experimental/Enhanced GNU Compiler System》的項目,此項目匯整了數項實驗性的分支進入某個GCC項目的分支中。EGCS比起GCC的建構環境更有活力,且EGCS最終也在1999年四月成為GCC的官方版本。
GCC目前由世界各地不同的數個程序設計師小組維護。它是移植到中央處理器架構以及操作系統最多的編譯器。
由於GCC已成為GNU系統的官方編譯器(包括GNU/Linux家族),它也成為編譯與建立其他操作系統的主要編譯器,包括BSD家族、Mac OS X、NeXTSTEP與BeOS。
GCC通常是跨平台軟體的編譯器首選。有別於一般局限於特定系統與運行環境的編譯器,GCC在所有平台上都使用同一個前端處理程序,產生一樣的中介碼,因此此中介碼在各個其他平台上使用GCC編譯,有很大的機會可得到正確無誤的輸出程序。
[編輯] 目前支持的語言
以2006年5月24日釋出的4.1.1版為准,本編譯器版本可處理下列語言:
* Ada 《GNAT》
* C 《GCC》
* C++(G++)
* Fortran 《Fortran 77: G77,Fortran 90: GFORTRAN》
* Java 《編譯器:GCJ;解釋器:GIJ》
* Objective-C 《GOBJC》
* Objective-C++
先前版本納入的CHILL前端由於缺乏維護而被廢棄。
Fortran前端在4.0版之前是G77,此前端僅支持Fortran 77。在本版本中,G77被廢棄而採用更新的GFortran,因為此前端支持Fortran 95。
下列前端依然存在:
* Mola-2
* Mola-3
* Pascal
* PL/I
* D語言
* Mercury
* VHDL
[編輯] 內嵌OpenMP支持
OpenMP是一種跨語言的對稱多處理器(SMP)多線程並行程序的編程工具,也非常適合當今越來越流行的單CPU多核硬體環境,因此從gcc4.2開始,OpenMP成為其內嵌支持的並行編程規范,可以直接編譯內嵌 OpenMP語句的C/C++/Fortran95的源代碼。gcc4.2之前如果想在C/C++/Fortran中嵌入OpenMP語句的話,需要額外安裝庫和預處理器才能識別和正確處理這些語句。
* gcc 4.2.0開始支持OpenMP v2.5
* gcc 4.4.0開始支持OpenMP v2.5及v3.0
參見GNU的GOMP計劃
[編輯] 支持的處理器架構
GCC目前支持下列處理器架構(以4.1版為准):
* Alpha
* ARM
* Atmel AVR
* Blackfin
* H8/300
* IA-32(x86)與x86-64
* IA-64例如:Itanium
* MorphoSys家族
* Motorola 68000
* Motorola 88000
* MIPS
* PA-RISC
* PDP-11
* PowerPC
* System/370,System/390
* SuperH
* HC12
* SPARC
* VAX
* Renesas R8C/M16C/M32C家族
較不知名的處理器架構也在官方釋出版本中支持:
* A29K
* ARC
* C4x
* CRIS
* D30V
* DSP16xx
* FR-30
* FR-V
* Intel i960
* IP2000
* M32R
* 68HC11
* MCORE
* MMIX
* MN10200
* MN10300
* NS32K
* ROMP
* Stormy16
* V850
* Xtensa
由FSF個別維護的GCC處理器架構:
* D10V
* MicroBlaze
* PDP-10
* MSP430
* Z8000
當GCC需要移植到一個新平台上,通常使用此平台固有的語言來撰寫其初始階段。
[編輯] 結構
GCC的外部介面長得像一個標準的Unix編譯器。用戶在命令行下鍵入gcc之程序名,以及一些命令參數,以便決定每個輸入文件使用的個別語言編譯器,並為輸出代碼使用適合此硬體平台的匯編語言編譯器,並且選擇性地運行連接器以製造可運行的程序。
每個語言編譯器都是獨立程序,此程序可處理輸入的源代碼,並輸出匯編語言碼。全部的語言編譯器都擁有共通的中介架構:一個前端解析符合此語言的源代碼,並產生一抽象語法樹,以及一翻譯此語法樹成為GCC的寄存器轉換語言《RTL》的後端。編譯器優化與靜態代碼解析技術(例如FORTIFY_SOURCE[1],一個試圖發現緩存溢出《buffer overflow》的編譯器)在此階段應用於代碼上。最後,適用於此硬體架構的匯編語言代碼以Jack Davidson與Chris Fraser發明的演算法產出。
幾乎全部的GCC都由C寫成,除了Ada前端大部分以Ada寫成。
[編輯] 前端介面
前端的功能在於產生一個可讓後端處理之語法樹。此語法解析器是手寫之遞回語法解析器。
直到最近,程序的語法樹結構尚無法與欲產出的處理器架構脫鉤。而語法樹的規則有時在不同的語言前端也不一樣,有些前端會提供它們特別的語法樹規則。
在2005年,兩種與語言脫鉤的新型態語法樹納入GCC中。它們稱為GENERIC與GIMPLE。語法解析變成產生與語言相關的暫時語法樹,再將它們轉成GENERIC。之後再使用"gimplifier"技術降低GENERIC的復雜結構,成為一較簡單的靜態唯一形式(Static Single Assignment form,SSA)基礎的GIMPLE形式。此形式是一個與語言和處理器架構脫鉤的全局優化通用語言,適用於大多數的現代編程語言。
[編輯] 中介介面
一般編譯器作者會將語法樹的優化放在前端,但其實此步驟並不看語言的種類而有不同,且不需要用到語法解析器。因此GCC作者們將此步驟歸入通稱為中介階段的部分里。此類的優化包括消解死碼、消解重復計算與全局數值重編碼等。許多優化技巧也正在實現中。
[編輯] 後端介面
GCC後端的行為因不同的前處理器宏和特定架構的功能而不同,例如不同的字元尺寸、調用方式與大小尾序等。後端介面的前半部利用這些消息決定其RTL的生成形式,因此雖然GCC的RTL理論上不受處理器影響,但在此階段其抽象指令已被轉換成目標架構的格式。
GCC的優化技巧依其釋出版本而有很大不同,但都包含了標準的優化演算法,例如循環優化、線程跳躍、共通程序子句消減、指令調度等等。而RTL的優化由於可用的情形較少,且缺乏較高級的信息,因此比較起近來增加的GIMPLE語法樹形式[2],便顯得比較不重要。
後端經由一重讀取步驟後,利用描述目標處理器的指令集時所取得的信息,將抽象寄存器替換成處理器的真實寄存器。此階段非常復雜,因為它必須關照所有GCC可移植平台的處理器指令集的規格與技術細節。
後端的最後步驟相當公式化,僅僅將前一階段得到的匯編語言碼藉由簡單的副函數轉換其寄存器與存儲器位置成相對應的機器碼。
[編輯] 替GCC程序除錯
為GCC除錯的首選工具當然是GNU除錯器。其他特殊用途的除錯工具是Valgrind,用以發現存儲器泄漏 (Memory leak)。而GNU測量器(gprof)可以得知程序中某些函數花費多少時間,以及其調用頻率;此功能需要用戶在編譯時選定測量《profiling》選項。
[編輯] 參考書目及注釋
* Richard M. Stallman:Using and Porting the GNU Compiler Collection, Free Software Foundation,ISBN 0-595-10035-X
* Richard M. Stallman: Using Gcc: The Gnu Compiler Collection Reference, Free Software Foundation, ISBN 1-882114-39-6
* Brian J. Gough:An Introction to GCC, Network Theory Ltd., ISBN 0-9541617-9-3
1. ^ Tower, Leonard (1987) "GNU C編譯器beta測試版釋出" comp.lang.misc USENET新聞組;參閱http://gcc.gnu.org/releases.html#timeline
2. ^ Stallman, Richard M.(1986年2月1日).GNU狀態.GNU的公告版,1(1).自由軟體基金會.
3. ^ Stallman, Richard M. (2001) "GCC貢獻者名單"於使用及移植GCC 2.95版(Cambridge, Mass.: Free Software Foundation)
[編輯] 參閱
[[File:|36x32px|自由軟體主題]] 自由軟體主題首頁
GCC目前包含了Boehm GC,一個為C/C++ 所設計的垃圾回收器。
* distcc - 為分布式編譯所設計的軟體,以GCC為協同軟體。
* LLVM - 低層虛擬機編譯器架構。
* MinGW - 將GNU開發工具移植到Win32平台下的計劃
* Cygwin - 在Windows上運行GNU程序的模擬軟體。
* GCC Summit
* OpenWatcom - 另一個開放原碼的C++/Fortran編譯器。
* Code Sourcery - 一個GCC顧問公司。
* ggcc - 全球化GCC項目。
[編輯] 更多閱讀
* Arthur Griffith, GCC: The Complete Reference. McGrawHill/Osborne. ISBN 0-07-222405-3.
* Kerner, Sean Michael.Open Source GCC 4.0: Older, Faster,internetnews.com,2005年4月22日.
* Kerner, Sean Michael.New GCC Heavy on Optimization,internetnews.com,2006年3月2日.
[編輯] 外部鏈接
* GCC官方網站
* GCC Forum - 由Nabble維持,整理所有gcc通信討論串,並集成入一個可搜索介面中。