<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > GCC開(kāi)發(fā)工具簡(jiǎn)介

GCC開(kāi)發(fā)工具簡(jiǎn)介

——
作者: 時(shí)間:2007-04-17 來(lái)源:51CMM.COM 收藏
在軟件開(kāi)發(fā)者組織中,想來(lái)遵循一條由來(lái)已久的備受尊重的傳統:開(kāi)發(fā)工具,包括,應當是免費提供給開(kāi)發(fā)者的。其中有一個(gè)頂尖級的組織——自由軟件基金會(huì ),長(cháng)期以來(lái)致力于提供免費的編程工具。該組織的志愿者們已經(jīng)認真負責地開(kāi)發(fā)出了很多一流的。其中一個(gè)非常杰出的就是GCC(GNU C Compiler),這是一個(gè)通用C/C++編譯。該在Unix和很多Win32平臺上得到了廣泛的應用。 注意: 
自由軟件基金會(huì )的志愿者們開(kāi)發(fā)了很多種類(lèi)的編譯器,并且可以提供程序的源代碼,條件是任何人如果在其源代碼基礎上開(kāi)發(fā)出新的產(chǎn)品的話(huà),都應當事先聲明其開(kāi)發(fā)基礎。 
在Palm 1000型掌上電腦正式推出時(shí),唯一的Plam開(kāi)發(fā)環(huán)境只有基于Macintosh的CodeWarrior。很多Unix和Windows的程序員都希望開(kāi)發(fā)Palm應用軟件,但是不希望還要去購買(mǎi)Macintosh操作系統和計算機。一些富有進(jìn)取心和熱心的程序員對當時(shí)的GCC作了改進(jìn),添加了一個(gè)PalmPilot編譯器端口,用于生成Palm OS的二進(jìn)制文件。然后很多的開(kāi)發(fā)工具被組合在一起,成為了正式名稱(chēng)為GNU PalmPilot SDK,但是民間稱(chēng)呼為GCC的Palm開(kāi)發(fā)工具。 
GNU PalmPilot SDK的內容 
該軟件開(kāi)發(fā)工具包(SDK)可以幫助您用C/C++開(kāi)發(fā)Palm OS應用軟件。并且支持Unix 或者 Windows平臺,其組成部分包括: 
GCC 
這也是該軟件包中最重要的工具,它能夠將C/C++程序編譯成Motorola 68K形式。 
GDB 
這是一個(gè)源代碼等級的得調試器 
PilRC 
這是一個(gè)Palm應用程序資源編譯器。它能夠將文本形式的資源表述轉化為應用程序的資源代碼。這些表述資源的文本文件包含了對資源的描述,并且器擴展名為.RCP。 
PilrcUI 
這個(gè)軟件能夠以圖形界面的形式顯示RCP文件,以便開(kāi)發(fā)者能夠預覽一下自己軟件的資源文件在掌上設備上的顯示效果。圖中顯示了一個(gè)PilrcUI的工作界面。 
Copilot 
該軟件能夠在硬件等級上模擬掌上設備的運行。它需要一個(gè)來(lái)自實(shí)際的掌上設備的ROM Image的支持,以便能夠惟妙惟肖地模仿掌上設備的運行效果。該軟件的更進(jìn)一步的開(kāi)發(fā)工作已經(jīng)由Palm公司接管。詳情請見(jiàn)第十章的“調試Palm應用程序”部分。 
如何獲得GCC 
在網(wǎng)絡(luò )上有很多地方提供GCC方面的資源。關(guān)鍵是看您使用的是Unix 還是 Windows操作系統。并且每時(shí)每刻都有新的資源來(lái)源出現。因此,您最好經(jīng)常去看一看Palm公司網(wǎng)站上提供的著(zhù)方面的最新信息。如果您像一次獲得所有的GCC開(kāi)發(fā)組件的話(huà),可能這是一個(gè)比較艱巨的下載任務(wù),因為全部文件有大約15M。因此,請確認您有充裕的時(shí)間。筆者最常光顧的GCC工具下載地址是Ray's Software Archive(http://www.palmcentral.com/)。
由于免費的GCC工具包自身不帶有商業(yè)化的Conduit開(kāi)發(fā)工具包CDK,因此GCC的用戶(hù)在需要開(kāi)發(fā)Conduit時(shí),有兩個(gè)選擇:您可以單獨購買(mǎi)Palm公司的Conduit SDK工具包,大約需要99美元?;蛘吣透纱嗤耆蕾?lài)Palm OS自帶的那個(gè)備份Conduit。 
您也可以加入 Massena GCC 討論組,以便獲得更深入的關(guān)于GCC開(kāi)發(fā)的討論信息。
GCC的安裝
除了安裝GCC工具包本身以外,您還需要安裝Palm OS SDK。其中包含了必需的庫文件和頭文件。3.5版本以上的SDK能夠直接和GCC配合使用,而無(wú)需任何修改。而早期的SDK版本則需要經(jīng)過(guò)改動(dòng)才能使用。您可以在“GCC開(kāi)發(fā)工具”頁(yè)面獲得更多的有關(guān)如何進(jìn)行修改的信息。
您可能希望安裝好幾個(gè)版本的SDK,并且希望其中的一個(gè)稱(chēng)為系統缺省默認的版本,以便于能夠在編譯的時(shí)候無(wú)需任何的`-palmosN'命令行選項。一個(gè)叫做`sdk'的符號連接能夠用來(lái)設置系統缺省的SDK版本。如,我們設置3.5版本的SDK為默認值的操作如下: $ cd /usr/local/palmdev
$ rm -f sdk
$ ln -s sdk-3.5 sdk 
在Unix RPMs上安裝 
目前已經(jīng)可以在Unix系列的系統環(huán)境下安裝該工具。這其中也包括了在Intel i386構架(有 glibc 2.1 (libc 6))的Linux環(huán)境下的安裝。(例如,這意味著(zhù)RedHat 6.0以上的操作系統也可以安裝PRC-Tools。)使用其他版本Unix操作系統的用戶(hù)也可以進(jìn)行編譯連結工作。 安裝prc-tools-2.0 (4.4 Mb)。務(wù)必使用/usr/local安裝目錄。 
如果您愿意,您可以安裝prc-tools-htmldocs-2.0 (850 Kb),以便獲得HTML格式的文檔。(在您安裝主要的RPM時(shí),你已經(jīng)獲得了info格式地文檔。) 
您可以下載一些范例程序 (90 Kb)。 
您將需要一個(gè)Palm OS SDK。并且無(wú)論你獲得的是哪個(gè)版本,它們都應當被安裝在/usr/local/palmdev目錄。 
您需要PilRC來(lái)進(jìn)行資源編譯。 

注意:由于Palm公司的網(wǎng)絡(luò )服務(wù)器上對于涉及到"RPM"擴展名文件的處理上的一些小問(wèn)題,您最好使用Windows操作系統的計算機來(lái)下載,以便于保證下載的正確性,防止出現CR-LF終止的問(wèn)題。然后,再通過(guò)一個(gè)工作區,將文件傳送到Unix計算機上。 
在Windows系統上安裝 
如果您以前安裝過(guò)prc-tools 0.5.0版,您可能需要將其刪除。因為該版本中的一個(gè)動(dòng)態(tài)鏈接庫文件cygwin1.dll和當前最新版本相沖突。同時(shí),prc-tools 0.5.0版定義了一個(gè)GCC_EXEC_PREFIX環(huán)境變量,它在最新版本的GCC中會(huì )引起錯誤。所以您需要確保該變量沒(méi)有被設置。 
Prc-tools需要Cygwin b20.1的支持,因此,在您安裝Prc-tools之前,你首先要安裝它。在安裝時(shí),您由兩種選擇: 選擇完全安裝(14M)——您可以獲得所需要的動(dòng)態(tài)鏈接庫文件,還有大量的Windows環(huán)境下的開(kāi)發(fā)工具。包括一個(gè)原有的Cygwin GCC。(如果您正在使用Handspring's GCC tools的話(huà),這個(gè)Cygwin GCC將和您現有的cygwin_b20.1.exe程序完全一樣。) 
如果您不需要這些工具,也不想浪費磁盤(pán)空間,您可以選擇user tools only Cygwin安裝(3M)。它包括了基本的必需工具。和完全安裝相比,唯一沒(méi)有被安裝,但是卻可能需要的工具就是make(55K),您可能希望將其添加到您的Cygwin H-i586-cygwin32bin目錄。
(如果您感興趣的話(huà),您可以獲得Cygwin的源代碼) 

您現在已經(jīng)可以來(lái)安裝 prc-tools 2.0 了(7 Mb)。您可以選擇安裝的內容:開(kāi)發(fā)工具體系自身,工具的文檔(HTML格式),以及一些范例程序。 
您可能還需要一個(gè) Palm OS SDK。您可以安裝任何版本的SDK。 
您還需要PilRC用來(lái)編譯您的資源文件。 
Cygwin的安裝過(guò)程需要在您的安裝路徑中包含Cygwin,具體信息請見(jiàn)自述文件??赡苣阃瑯有枰砑觩rc-tools。在此之后,您就可以開(kāi)工了!
總之,您需要下載和安裝的內容如下: 

完全安裝Cygwin(或者選擇安裝Cygwin user tools和make) 
Prc-tools 2.0 
一個(gè)以上的Palm OS SDKs 
PilRC 
  
注意:在Windows系統下,對應于/usr/local/palmdev的目錄是C:PalmDev。 
在Windows系統下,您需要添加prc-tools 二進(jìn)制文件目錄到您的安裝路徑中。即添加目錄:<prc-tools-安裝的根目錄>H-i586-cygwin32bin。例如您將PRC-Tools 安裝在了缺省的目錄下,那么,您必需添加下列代碼到您的AUTOEXEC.BAT文件中: set PATH="C:Program FilesPRC-ToolsH-i586-cygwin32bin;%PATH%"   更多的技術(shù)文檔,您可以閱讀有關(guān)prc-tools, gcc的頁(yè)面。這些HTML格式的文件將被安裝在下列目錄: file:///C:/PalmDev/doc/index.html (Windows系統)
或者
file:/usr/local/palmdev/doc/index.html (Unix系統)     在當前的PRC-Tools版本中存在一個(gè)浮點(diǎn)方面的bug:無(wú)法完成浮點(diǎn)數據和整型數據之間的轉換。該問(wèn)題將會(huì )在PRC-Tools 2.1版本中被解決。在此期間,如果您確實(shí)要在您的開(kāi)發(fā)中使用到浮點(diǎn)數據的話(huà),您可以通過(guò)下載一個(gè)庫文件,取代原有庫文件的方式來(lái)解決。這個(gè)庫文件分為Unix 和 Windows兩個(gè)版本。如果您的開(kāi)發(fā)中不涉及到浮點(diǎn)數據,那么這個(gè)bug并不會(huì )影響您。 
編譯和連接源代碼 
如果您要自己完成本開(kāi)發(fā)工具包的編譯和連接工作的話(huà),您需要從GCC Tools頁(yè)面下載該工具包的源文件。您可能還需要GCC 2.95.2, binutils 2.9.1, 和 gdb 4.18的源文件。這些都可以在GNU web site上面的BUILDING.html頁(yè)面找到。 
理論上講,最新版本的PRC-Tools能夠在支持GCC的Unix類(lèi)型的操作系統上毫不費力的進(jìn)行源代碼的編譯連接工作。無(wú)論是tarball 還是 source RPM形式的都能支持。 
您尤其需要下載針對binutils-2.9.1, gdb-4.18, 和 GCC-2.95.2的源代碼。并且您需要利用Palm OS SDK來(lái)編譯crt, libc, 和 libm目錄下的實(shí)時(shí)支持代碼 
Palm OS SDKs 
除了安裝編譯器、開(kāi)發(fā)工具以外,您還需要安裝Palm OS SDK來(lái)對軟件進(jìn)行編譯。SDK 3.5版本能夠支持當前最新版本的PRC-Tools。 
但是,earlier SDKs需要做一些簡(jiǎn)單的修改才能配合PRC-Tools使用。您可以下載到適合SDK 1.0, 2.0, 3.1版本的補丁。它們都擁有Windows 和 Unix兩個(gè)版本。 
其它有用的資源 
談到這里,您應該可以開(kāi)始安裝和運行您的PRC-Tools工具包了。在此,我們?yōu)槟谐隽艘恍┚W(wǎng)絡(luò )資源的鏈接清單,希望對您有進(jìn)一步的幫助: Aaron Ardiri寫(xiě)了一篇很不錯的“Setting up PRC-Tools under Windows”(在Windows環(huán)境下安裝PRC-Tools)。盡管它的這篇文章中的很多內容和本文差不多,但是它里面有一些本文沒(méi)有涉及到的細節內容,尤其是它詳細介紹了用戶(hù)如何自定義安裝的信息,包括更改新的安裝目錄,以及為此必須做的全部修改等。 David Silber的“Palm OS Application Development HOW TO”是一篇很好的使用指南,尤其是當您使用的時(shí)Linux操作系統時(shí)。 O'Reilly的“Palm Programming; A developer's guide”并不是最好的Palm編程參考書(shū)籍,但是它是唯一可以在網(wǎng)上免費察看的一本。 Palm OS推出的“SDK Documentation??乏T?"??????”是最基本的參考資料。您不僅可以在該網(wǎng)站上察看html網(wǎng)頁(yè)文件,也可以下載pdf格式的文件,同時(shí)還可以購買(mǎi)打印的文檔。 Dan Parson的文章“A Simple PalmOS Application written in C”可能是一篇比較老的文章。但是如果您忽略新版本的SDK帶來(lái)的那些兼容性問(wèn)題的話(huà),它還是比較有價(jià)值的一篇文章。 在Palm OS SDK中附帶了很多范例程序。但是目前只有其中的兩篇是能夠完全被PRC-Tools編譯的。不過(guò)其它的程序,只要簡(jiǎn)單的讀一讀源代碼,還是足夠的。(這些范例程序最初都是為CodeWarrior編寫(xiě)的。) 前面提到的“POSE HOWTO”中有一個(gè)非常簡(jiǎn)單的“hello world”程序范例。 
版權協(xié)議 
GNU工具包中的in *.palmos.diff形式的補丁程序和“tools”子目錄中的代碼都是免費的軟件。包括本2.0版本在內的,以及以后的版本(如果你愿意)的工具包,在GNU普通公開(kāi)協(xié)議(GNU General Public License)規定的范圍內都可以可以被重構、修改。詳情請見(jiàn)COPYING文件。 
在“crt”子目錄中的實(shí)時(shí)支持代碼目前處于公開(kāi)狀態(tài)。結果對象代碼(resulting object code)也可以自由地被連接到用戶(hù)的程序中。 
對于“l(fā)ibc”子目錄中的代碼的規定如下:
libc.a
liba.sa——這是一個(gè)小型的標準的C語(yǔ)言庫文件(靜態(tài)和共享版)。包含了type, printf, friends, putchar() 和 printf()用于向LCD輸出(甚至滾動(dòng)顯示)。我們不希望這些函數被非常泛濫地用于調試以外的用途,或者被用于最終的程序中。相同的還有String函數、memmove、bcopy等。很多庫函數都是來(lái)自于Linus Torvalds,都可以在Linux 內核的 “l(fā)ib”目錄中找到。其作者許可我們公布這些,而不用GPL抵押。(詳情在prc-tools 0.5.0的自述文件中,作者是Jeff Dionne。) 
“l(fā)ibm”子目錄中的代碼來(lái)源于Cephes Math Library,這方面的權限是這樣規定的:
libm.a
單精度數學(xué)函數庫。一些最基本的數學(xué)函數功能,如加法,乘法等,本來(lái)用戶(hù)希望來(lái)自于一個(gè)完整的libm.a函數庫。但是在最后的編譯過(guò)程中,應該使用libgcc.a來(lái)實(shí)現這些功能。而libm.a函數庫的版權屬于Cephes Math Library 2.2版, 1992年6月發(fā)布, Copyright 1984, 1987, 1988 by Stephen L. Moshier。

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




評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>