RH資源編譯工具
C語言是比較基礎的語言,很多編程軟體都可以接受C的編程的。但C的東西不多,哪個軟體都能完全容納它,所以用哪個軟體都OK的了,主要是看個人喜好和你以後發展方向來選擇的。如果你以後還想學VC++的話或者你要過計算機二級,那現在就下VC6.0 。如果你想做網站的話就下VS2008(或VS2005)。linux的GCC 作為一個初學者,應該還不會涉及到的。
B. 都有哪些好的c語言編譯器阿
1. GCC
大名鼎鼎的GNU的C/C++/Obj-C編譯器, 當前版本是2.8.1, 但據說與2.7.*有兼容性
問題. 而使用較廣的是gcc 2.7.2系列, 如RedHat5中帶的就是gcc 2.7.2.3
有時候在Cyrix上用gcc會有些問題, 因此有一套針對Cyrix特點的gcc 2.7.2.3
我這里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
(Cyrix 2.7.2.3 & 2.8.1)
其基本結構就是一個front end和back end,
/usr/bin/gcc 就是個front end, 其kernel東西都放在 /usr/lib/gcc-lib下面,
cpp是C預處理器, cc1*的1M多的就是編譯器的核心模塊了
cc1 C compiler
cc1plus C++ compiler
cc1obj Object-C compiler
但gcc並沒有集成Fortran的compiler, 一般要用f2c轉成C後才用gcc編譯
好象也還有個g77 Fortran compiler吧?
gcc的不斷發展完善使許多commercial compiler都相形見絀, 那當然, gcc/emacs
都由GNU創始人Richard Stallman手創, 是GNU的旗艦產品, 質量當然沒得說了:-)
由於 Unix平台的高度可移植性, gcc幾乎在各種常見的Unix平台上都有, 即使是
Win32/DOS也有gcc的port. 比如說該死的Solaris普通版本連compiler都沒有, 也
就只好用gcc了...
2. EGCS(Experimental/Enhanced GNU Compiler System)
這是gcc的發展方向, 把fortran等編譯器集成進來, 也許還會有Pascal?
它的構造很清晰, 把對gcc的各種改進/port都集成回去. 如gcc 2.7系列據說是
沒有對Pentium進行優化的, 而egcs則把pgcc對Pentium的一些優化集成進去了
現在gcc的開發工作主要就是egcs, 由Cygnus公司領導(?), 這Cygnus公司還是很
不錯的, 還出了GNU-Win32, SourceNavigator等, 是GNU的堅實擁護者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran 編譯器, 當前最新版本1.0.2, 還在不斷開發中
昨天download發現KDE Beta4都用egcs編譯了 :-)
Fortran集成進來後在/usr/lib/gcc-lib下又多了個f771的back end, 當然
還是g77/f77 編譯
我這里有egcs 1.0.2 的rpm 在RH5-CD/collect下面
3. PGCC(Pentium GCC)
http://www.gcc.ml.org
針對Pentium CPU進行了編譯器優化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快 30%!
新版的pgcc都是基於egcs的, 以一個patch的形式release
C. cs+編譯器如何模擬
打開CS+ ,雙擊選擇RH850 E1(LPD)(Debug Tool)->Download File Setting->Debug Information->Excute to the specified symbol after CPU Reset->No,在連接模擬器運行之後,將會從 jr32 __start ; RESET 處開始執行。
步驟
1、添加編譯路徑:添加完成後可在主文件中直接添加頭文件,不需要帶路徑;
2、模擬:模擬之前先檢測驅動是否安裝成功;
3、模擬器的接線圖:同樣的標號要短接,就是把E1的2、12、14 接一起,變成1個GND接到板上,電源8、9接一起,reset10、13接一起;
4、選擇模擬器是否自帶電源(5v or 3v);
5、選用的時鍾為系統默認內部時鍾並且要在DEVICE中選擇。
D. rhce課程
1. linux紅帽認證 需要什麼教材,去哪考試.
linux紅帽認證一般當地的培訓機構就可以報名考試的。
需要turbolinux用戶基礎,turbolinux系統管理和turbolinux網路管理這三張證書,同時也就需要這三本教材,等這三張證書都過了以後就會發一張"turbolinux認證工程師"證書。
紅帽RHCE認證考試是指以故障排除和系統維護以及安裝和配置等實際操作能力為基礎的紅帽認證考試,主要考察考生在現場系統中的實際能力。
要獲得RHCE認證,考生只有先通過了RHCSA,才能考取RHCE。
要參加RHCA考試,考生必須已經獲得RedHat認證工程師(RHCE)證書。
(1)rhce課程擴展閱讀:
紅帽企業架構師課程主要面向那些負責部署和管理大型企業環境中眾多系統的高級Linux系統管理員提供深入的實際操作培訓。
紅帽認證架構師是紅帽公司繼紅帽認證技師和紅帽認證工程師,認證之後推出的最新頂級認證,也是Linux領域公認的最受歡迎的、最成熟的認證。
RH401培訓旨在提高在部署和管理紅帽系統方面的技能水平和競爭力,以滿足企業在可靠性,可用性,可擴展性和可管理性(RASM)方面的標准。
RH423培訓面向RHCE水平的專業人士,目標是提高基於紅帽企業Linux系統的部署和管理目錄服務的技能水平和競爭力。課程的核心圍繞理解,配置和管理基於LDAP的服務。
2. rhce要考幾門課程一共需要多少錢
考試包括上午和下午,上午考:10個題都是動手的,搞定8個就可以了 2.5h
下午是一個系統安裝的要求,要求完成系統的安裝和部分服務的配置 3.0h
標准費用2800
3. RHCA是什麼
再補充點,如果你要考過rhca,就得先考過RHCE,然後才能考RHCA,而且你得考過以下五門課程,才能夠獲得RHCA證書
RHS333 Red Hat企業級網路服務安全管理
RH401 Red Hat企業級系統管理及部署
RH423 Red Hat企業級目錄服務及身份認證
RH436 Red Hat企業級存儲管理
RH442 Red Hat企業級系統優化及調整
4. 學習rhce和學習ocp有聯系嗎 我現在的課程是ccna+ocp+rhce 我目前不想考證
ccna - cisco 認證體系 (思科設備,路由,交換)
ocp - oracle 認證體系 (資料庫)
rhce - red hat linux 認證體系 (操作系統)
雖然都屬於IT范疇專,但是三個課程之屬間的內在聯系不是很多,幾乎沒有。
5. 有人上過東方瑞通的RHCE課程培訓嗎
不知道,最近也想參加這個培訓呢,我去中軟的看了看,說是三個人可以打折,還有就是不知道明年降不降價。可以的話我們聯系一下oneword@163
6. 請問學完一套包含了紅帽RHCE,思科CCNP,oracle OCP和微軟MCITP的課程之後,畢業好找工作嗎往什麼方向
很牛掰,不知道樓主能不能堅持下來
只是CCNP學費加考試就幾K了,要敲好久的命令了
不過回engineer還是要實踐經驗的,答不然考出來也是paper。不過比沒有證書還是強不少
蘇州4年左右CCIE一般8K-2W
7. rhce是什麼
RHCE認證目錄:
概述
RHCE課程設置
RHCE認證考試內容及流程
RHCE認證考試費用
RHCE證書價值及適合就業領域
行業內的人才需求與現狀
概述
1、 RHCE認證:RHCE是Red Hat Certified Engineer的簡稱,即紅帽認證工程師。(RHCE)認證展示了高級系統管理員應掌握的技能。一名紅帽認證工程師除了要掌握紅帽認證技師具備的 所有技能,還應具有配置網路服務和安全的能力,他/她應該可以決定公司網路上應該部署哪種服務以及 具體的部署方式。
2、 RHCE認證包括DNS、NFS、Samba、Sendmail、Postfix、Apache和關鍵安全功能的詳細內容。始於1999年3月。紅帽認證工程師(RHCE)和紅帽認證技師(RHCT)是以實際操作能力為基礎的測試項目,主要考察考生在現場系統中的實際能力。
紅帽企業簡介
紅帽是全球領先的開放源碼供應商,紅帽企業Linux產品佔全球Linux市場80%以上的市場份額。紅帽更理解開放源碼,了解如何提高系統的性能、可靠性,懂得如何通過技術創新控制和節約成本。
紅帽軟體(北京)公司於2004年11月設立。作為紅帽公司的全資子公司,紅帽軟體(北京)公司將為中國用戶提供更加快捷和優秀的本地技術支持。
紅帽公司是開源領域的領導者,是最為純粹100%產品開源公司,在開源社區,紅帽的工程師和技術人員在代碼提交和其他方面對社區的貢獻最大。作為最優秀的開放源碼系統提供商,紅帽在開放源碼社區的各個方面作出了重大的貢獻,如Linux,GNU和Apache Web伺服器等。許多Red Hat的員工本身就是傑出的開放源碼開發人員和開源社區的會員。
紅帽中國將致力於推動中國企業信息化建設和中國Linux行業的發展,為中國用戶提供更好的產品及服務。據IDC預計,在2008年發布的所有伺服器中,基於Linux的將會佔29%,共計97億美元,而中國Linux市場2005年到2009年的年平均增長率將為23.9%,其中Red Hat 市場份額為19.7% ,並保持增長態勢。
在紅帽公司2006年6月份完成對開源中間件的領導廠商 JBoss的收購後,JBoss已經成為紅帽公司重量級的應用伺服器產品,從此開源系統架構已經能夠支持整個IT系統。JBoss是一個同時運行Web及EJB的J2EE應用伺服器。它是開放源代碼的項目,遵循最新的J2EE規范,無論是學習還是應用,JBoss為我們提供了一個非常優秀的平台。
紅帽的客戶包括企業、學術研究、科研機構和 *** 部門。全球用戶包括:Amazon, AOL(美國在線), Merrill Lynch(美林), Credit Suisse First Boston(瑞士信貸第一波士頓), DreamWorks(夢工廠), Lithonia Lighting, VeriSign(威瑞信), Charles Schwab(嘉信理財), Lehman Brothers(雷曼兄弟), UBS Warburg(瑞銀華寶), Man Stanley(摩根斯丹利), Goodyear(固特異)等;中國主要客戶包括中國建設銀行,平安保險,中國電信,中石油,寶鋼,李錦記,中國氣象局,芒果網等各行業;主要合作夥伴包括IBM, Dell, HP, Oracle, Sun, Fujitsu, Intel, NEC, Hitachi, BEA等。
到目前為止,紅帽得到超過750家硬體認證和2200家軟體企業應用認證,支持各種主流硬體,以及應用軟體。作為全世界最大的開源產品和服務供應商,紅帽公司致力於發展和全世界各國的教育培訓機構的長遠合作關系。
RED HAT是全球最大的開源技術廠家,其產品RED HAT LINUX也是全世界應用最廣泛的LINUX。RED HAT公司總部位於美國北加利福尼亞。在全球擁有22個分部。對於RED HAT來說,開放源代碼已經不只是一個軟體模型,這正是RED HAT的商業模式。因為RED HAT堅信只有協作,企業才能創造出非凡質量和價值的產品。
迄今為止,RED HAT已經為全球30萬台伺服器提供500萬套軟體,成為全球企業最重要的LINUX和開源技術提供商,此外:
* RED HAT是目前全球最先自負盈虧的LINUX企業,NASDAQ上市公司,銀行現金高達29億美元;
* RED HAT是唯一獲得全球頂尖ISV(獨立軟體提供商)廣泛支持的LINUX廠商;
* 是COMPAQ, DELL, IBM, INTEL等一流的IT企業的合作夥伴;
* RED HAT擁有52%的LINUX操作系統市場份額;
在RED HAT的300名工程師中,有6名來自於全世界最頂尖的10名LINUX核心開發者,7名來自全球最出色10名LINUX開發工具工程師。全世界,也許只有RED HAT能夠把LINUX和開源技術以及企業級的培訓、技術支持和咨詢融合得如此美妙。RED HAT的培訓及認證被認為是LINUX認證的標准。
課程設置
首先來認識一下REDHAT LINUX的課程設置。《國際IT認證中的一匹黑馬---RHCE.DOC》中說過,RED HAT官方將RHCE考試分為兩個級別:專家級和標准級。其中標准級是針對大多數沒有UNIX/LINUX系統管理經驗的考生設置的,主要有三門課程:RH033(RED HAT LINUX入門知識)針對MCSE、MCP、CNE等沒有UNIX/LINUX使用經驗的考生開設,RH133(RED HAT管理員入門)針對有基本命令行使用經驗的考生開設,RH253(RED HAT網路管理與安全管理入門)針對那些通過了RH133考試、還想繼續掌握關鍵的網路服務設置及安全控制的考生設置。
一. RH033 RED HAT LINUX 基礎課程
課程描述:
適用於LINUX的新使用者,他們希望了解並掌握基本知識,以順利使用他們自己的RED HAT LINUX系統。完成此課程後,RED HAT LINUX使用者可高效率地使用及自訂RED HAT系統,並執行常見的指令行處理與各種桌面工作。
適應參加人群:
沒有在LINUX或UNIX的指令行經驗而想提升為使用和定做他們自己的RED HAT LINUX工作站技能的人。
二.RH133 RED HAT LINUX 系統管理
課程描述:
為LINUX或UNIX的用戶想開始開發RED HAT LINUX上的系統管理,到達可以配置現有網路的水平。參見以下細節。
課程目標:
能執行標準的系統管理任務, 為一個現有網路安裝、配置一台新的有RED HAT LINUX 工作站的操作員。
適應的參加人群:
在開始成為系統管理員之前,了解RED HAT LINUX 基本知識並渴望比較進一步的技術訓練的LINUX OR UNIX 用戶。
預備知識:學習本課程,您必須具備以下能力
RH033 RED HAT LINUX要點或RED HAT LINUX的等效經驗。
三.RH253 RED HAT LINUX 網路及安全管理
課程描述
為LINUX或UNIX的用戶想開始開發RED HAT LINUX上的網路管理,到達可以配置現有網路和安全管理的RED HAT LINUX水平。參見以下細節。
課程目標:
那些想設置RED HAT LINUX伺服器和配置及設定一般網路服務安全的系統管理員。
適應的參加人群:
適合有實際工作經驗的LINUX 或UNIX系統管理員有興趣嘗試在RED HAT LINUX環境下設定系統管理、網路服務和網路安全等。
預備知識:學習本課程,您必須具備以下能力
RH133 RED HAT LINUX 系統管理 或RED HAT LINUX等效經驗;LAN/WAN基本原理或等值;用TCP/IP來互聯工作或等值。
考試內容及流程
在各家國際性的技術認證制度當中,由 RED HAT 公司所推出的RHCE ( RED HAT CERTIFIED ENGINEER ) 認證其最大之不同點及其價值,即在於強調受測考生於受測時實際動手的 PERFORMANCE-BASE 測驗方式,完全根據 RED HAT LINUX 平台上真正必要的各種網路服務進行安裝、組態、除錯、以及設定各種網路環境,實務操作能力測驗。
參加RHCE考試整個考試過程大約六小時,當中約有一個小時用來作答技術性多重選擇題,其餘則是偏重在由考生自己動手做之實力測驗。每一單元考試皆為閉卷進行,同時嚴禁考生做筆記抄寫題目及答案。考題皆為實況演出,考生必須懂得規劃、判斷並提出解決方案才能通過測驗。
RHCE認證考試有6小時長,要用去應試人員一天的時間。考試分3個部分,其中包括:
·1、涉及2到4個問題的調試測驗(Debug Exam);該考試時長2.5小時(滿分100),目的是檢驗應試者的綜合技術能力。
·2、多選題測驗,總共有40到50道技術問題,時長1個小時(滿分100)。
·3、伺服器安裝和網路服務設置測驗,也是綜合的技術能力考試,時長2.5個小時(滿分100)。
為了通過考試,應試人員必須在全部三部分考試中平均得到80分,而且其中任何一部分的得分都不能低於50分。該項考試只在Red Hat認證培訓中心舉辦,08年價格是750美元。全美和加拿大已經設立了21個此類培訓中心。在中國,北京、上海、廣州、成都等地也已有官方授權培訓中心建立。
考試費用(09年最新價格):培訓+考試費用:6800元 (包括原廠教材及考試費用)
RHCE證書的價值及就業領域
RHCE認證在linux行業里屬於含金量較高的一個認證,適應的就業領域也較多,如:互聯網架構師、安全架構師、運維架構師、系統集成架構師、系統工程師、售前工程師等。
職業特徵分析:
Linux平台的管理或者開發人員明顯比Windows平台少很多,但是無論是國內,還是國際上對Linux技術人才的需求卻超乎人們的想像。一方面是因為當前IT行業的去向朝著互聯網和數據中心發展,企業尋求在Linux平台上構築整個企業信息化基礎,比如Google僅2005年就已經擁有200萬台Linux伺服器,甚至微軟這樣的巨人都要謀求收購yahoo來維持新互聯網時代的優勢,近兩年的全球Linuxworld大會,微軟更是毫不避諱的出現在會場,可見Linux對行業帶來的振動。
另一方面因為Linux平台太不宜上手,不經歷很長時間的磨練或沒有專業人士指導,進步很慢。成材比例比Windows平台人才低很多,尤其是掌握高級技能的人才,能夠提供行業解決方案的架構師。更是少之又少。目前很多所謂Linux人才多數對Linux下常見的一些服務淺嘗即止,根本違法利用大量的開源軟體資源,更沒有受到過整個開源產業鏈上各種技術的錘煉。很多互聯網公司因為人員素質問題,對於Linux及開源的應用仍是落後的。而且同時對UNIX/Linux系統、Oracle資料庫都熟悉的技術人才更加少。
行業內的人才需求與現狀
我國 Linux 正發展到一個關鍵時期,瓶頸效應也越來越明顯。我們尷尬地發現,Linux 專業人才,尤其是本地化的專業人才遠遠不如 Windows 系統下的人才——不論是數量還是質量。
對於我國 Linux 面臨的這一挑戰,倪光南院士曾一針見血地指出,人才決定一切,有了更多、更好的 Linux 開發人員,就會促進 Linux 在中國的普及。相反,如果大多數開發人員都只懂 Windows ,那麼 Linux 就很難發展了。
前中國 Linux 的應用水平還落後於發達國家,主要表現在我國熟悉 Linux 的人員不多,在 Linux 上開發的應用不豐富,中國人對於 Linux 的貢獻還很少等。
隨著 Linux 在國內的日益普及,企業對 Linux 人才的需求也會持續升溫,並且表現在層次上也更加豐富。比如,在系統級的資料庫、消息管理、 Web 應用方面,在桌面辦公方面、在各種嵌入式開發方面等等。Linux 相關人才可以獲得的薪水,也普遍比Windows相關人才多20-30%。
上述說法可以在中國知名的招聘網站51job 上做一個驗證。在這家網站上比如北京地區的IT人才招聘中,分別鍵入關鍵字「Windows」 和「Linux」,全國所有招聘信息中,可以看到關鍵字「Windows」人才需求是10134人,關鍵字「Linux」人才需求是11100人,兩個數字基本持平,但從市場上的人才供應量來看,Linux人才還呈現大比例短缺的狀況。(
8. 網路網盤下載的尚觀RHCE課程培訓112集完整版.zip有密碼 有人知道是啥嗎
oracle
9. RHCE要學哪些內容和課程
RHCE的課本都是英文的。。
要學的課程是 linux基本操作, 伺服器配置,內核編譯,基本的shell編程
10. RHCE認證的課程設置
首先來認識一下REDHAT LINUX的課程設置。《國際IT認證中的一匹黑馬---RHCE.DOC》中說過,RED HAT官方將RHCE考試分為兩個級別:專家級和標准級。其中標准級是針對大多數沒有UNIX/LINUX系統管理經驗的考生設置的,主要有三門課程:RH124(RED HAT LINUX入門知識)針對MCSE、MCP、CNE等沒有UNIX/LINUX使用經驗的考生開設,RH134(RED HAT管理員入門)針對有基本命令行使用經驗的考生開設,RH254(RED HAT網路管理與安全管理入門)針對那些通過了RH134考試、還想繼續掌握關鍵的網路服務設置及安全控制的考生設置。 課程介紹
RHCE培訓紅帽系統管理I(RH124)針對不了解Linux的IT專業人員而設計的。課程旨在對生產環境的工作任務進行詳細講解,模擬工作環境推動學員學習積極性,通過大量實踐建議學習成果,同時培養學員學習能力、動手能力。RHCE6.0培訓課程主要基於圖形工具使得學員可以快速入門,逐步適應命令行工作方式。參加RHCE6.0培訓後,學員將能夠執行安裝操作系統、建立網路連接、管理物理存儲設備,並執行基礎的安全管理任務。
適合人群
針對需要快速掌握核心紅帽企業版Linux能力的Microsoft Windows系統管理員,需要使用Linux進行日常管理工作的系統管理員、網路管理員和其他IT專業人員,希望成為全職Linux系統管理員的非Linux IT專業人員。
培訓目標 操作系統的安裝 管理磁碟設備 命令行簡介 安裝和配置本地組件與服務 建立網路,確保網路服務的安全 管理和保證文件的安全 管理用戶和組 部署文件服務 課程概述
包含RHCSA考試的紅帽系統管理II考試 Exam (RH135) ;
在系統管理I基礎上深入學習企業Linux,能夠對文件系統和分區進行管理和故障排除,邏輯卷管理、接入控制和程序包管理。參加紅帽系統管理I和II的學員將為參加紅帽系統管理(RHCSA)考試做好充分准備。
適合對象
已經參加紅帽系統管理I,並希望成為全職企業Linux管理員和/或獲得RHCSA認證的IT專業人員
培訓目標 網路配置與故障排除 管理文件系統和邏輯卷 控制用戶和文件訪問 安裝和管理服務與流程 基本命令行操作 故障排除 課程概述
包含RHCE考試的紅帽系統管理III考試 Exam (RH255) ;通過本課程學習可以安全配置部署與管理Linux網路服務,包含DNS、Apache、SMTP和網路文件共享;此外本課程注重安全性,包括監控、數據包過濾、接入控制和SELinux。本課程學完可以參加RHCSA和RHCE考試。
適合對象
需要網路和安全管理的高級Linux系統管理員
擁有RHCE或者RHCSA證書或具備同等能力的LINUX專業人員
培訓目標 增強用戶安全 利用iSCSI 進行磁碟管理 系統與網路活動監控 網路管理與數據包過濾 軟體管理 Web服務管理 跨平台文件共享 基本SMTP管理
E. C語言編譯器有哪些各有什麼特點
C語言編譯器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。
其中比較經典的VC++,微軟的產品,編譯器,鏈接器,運行,調試等功能於一體的強大開發工具,特點是功能十分強大,對於新手來說需要一段時間去摸索。
dev-C++是windows下一款開發c/c++的開發環境,使用gcc為編譯器,遵循標准,功能比較強大,語法高量,可以進行單步調試(這對排除錯誤很重要),進行斷點設置等功能,遵循C標准,是一款很強大的開發工具。
C-Free是一款支持多種編譯器的專業化C/C++集成開發環境(IDE)。利用C-Free,使用者可以輕松地編輯、編譯、連接、運行、調試C/C++程序。
TC 2.0:Borland公司的產品,在dos界面下編譯運行,小巧、靈活,但是不能使用滑鼠。
win-TC:在tc2.0的基礎上加上了界面,能夠使用滑鼠,具有語法高量,可以嵌入匯編等特點,對新手一些,拜託了不能用滑鼠的困難。
編譯器,簡單講,就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)。
F. 如何在linux中安裝gcc編譯器
2004年4月20日最新版本的GCC編譯器3.4.0發布了。目前,GCC可以用來編譯C/C++、FORTRAN、java、OBJC、ADA等語言的程序,可根據需要選擇安裝支持的語言。GCC 3.4.0比以前版本更好地支持了C++標准。本文以在Redhat Linux上安裝GCC3.4.0為例,介紹了GCC的安裝過程。
安裝之前,系統中必須要有cc或者gcc等編譯器,並且是可用的,或者用環境變數CC指定系統上的編譯器。如果系統上沒有編譯器,不能安裝源代碼形式的GCC 3.4.0。如果是這種情況,可以在網上找一個與你系統相適應的如RPM等二進制形式的GCC軟體包來安裝使用。本文介紹的是以源代碼形式提供的GCC軟體包的安裝過程,軟體包本身和其安裝過程同樣適用於其它Linux和Unix系統。
系統上原來的GCC編譯器可能是把gcc等命令文件、庫文件、頭文件等分別存放到系統中的不同目錄下的。與此不同,現在GCC建議我們將一個版本的GCC安裝在一個單獨的目錄下。這樣做的好處是將來不需要它的時候可以方便地刪除整個目錄即可(因為GCC沒有uninstall功能);缺點是在安裝完成後要做一些設置工作才能使編譯器工作正常。在本文中我採用這個方案安裝GCC 3.4.0,並且在安裝完成後,仍然能夠使用原來低版本的GCC編譯器,即一個系統上可以同時存在並使用多個版本的GCC編譯器。
按照本文提供的步驟和設置選項,即使以前沒有安裝過GCC,也可以在系統上安裝上一個可工作的新版本的GCC編譯器。
1. 下載
在GCC網站上(http://gcc.gnu.org/)或者通過網上搜索可以查找到下載資源。目前GCC的最新版本為 3.4.0。可供下載的文件一般有兩種形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是壓縮格式不一樣,內容完全一致,下載其中一種即可。
2. 解壓縮
根據壓縮格式,選擇下面相應的一種方式解包(以下的「%」表示命令行提示符):
% tar xzvf gcc-3.4.0.tar.gz
或者
% bzcat gcc-3.4.0.tar.bz2 | tar xvf -
新生成的gcc-3.4.0這個目錄被稱為源目錄,用${srcdir}表示它。以後在出現${srcdir}的地方,應該用真實的路徑來替換它。用pwd命令可以查看當前路徑。
在${srcdir}/INSTALL目錄下有詳細的GCC安裝說明,可用瀏覽器打開index.html閱讀。
3. 建立目標目錄
目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。
例如,可以這樣建立一個叫 gcc-build 的目標目錄(與源目錄${srcdir}是同級目錄):
% mkdir gcc-build
% cd gcc-build
以下的操作主要是在目標目錄 ${objdir} 下進行。
4. 配置
配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。
配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):
% ${srcdir}/configure --prefix=${destdir} [其它選項]
例如,如果想將GCC 3.4.0安裝到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。
在我的機器上,我是這樣配置的:
% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
將GCC安裝在/usr/local/gcc-3.4.0目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。
5. 編譯
% make
這是一個漫長的過程。在我的機器上(P4-1.6),這個過程用了50多分鍾。
6. 安裝
執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):
% make install
至此,GCC 3.4.0安裝過程就完成了。
6. 其它設置
GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。
6.1 gcc、g++、gcj的設置
要想使用GCC 3.4.0的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。
首先,查看原來的gcc所在的路徑:
% which gcc
在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g++ g++34
% ln -s ${destdir}/bin/gcj gcj34
這樣,就可以分別使用gcc34、g++34、gcj34來調用GCC 3.4.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。
6.2 庫路徑的設置
將${destdir}/lib路徑添加到環境變數LD_LIBRARY_PATH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變數了。
例如,如果GCC 3.4.0安裝在/usr/local/gcc-3.4.0目錄下,在RH Linux下可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:
setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH
7. 測試
用新的編譯命令(gcc34、g++34等)編譯你以前的C、C++程序,檢驗新安裝的GCC編譯器是否能正常工作。
8. 根據需要,可以刪除或者保留${srcdir}和${objdir}目錄。
G. 如何在Windows下編譯或調試Mysql
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(簡稱VS Code)是由微軟開發的,同時支持Windows、Linux和macOS操作系統的開源文本編輯器。它支持調試,內置了Git 版本控制功能,同時也具有開發環境功能,例如代碼補全(類似於IntelliSense)、代碼片段、代碼重構等。該編輯器支持用戶自定義配置,例如改變主題顏色、鍵盤快捷方式、編輯器屬性和其他參數,還支持擴展程序並在編輯器中內置了擴展程序管理的功能。
安裝LLDB
LLDB是LLVM編譯器的一部分,推薦使用Homebrew安裝LLVM工具集,不建議使用系統自帶的LLDB,安裝前必須先創建證書否則無法安裝,步驟如下:
創建完成後,開始安裝LLVM
brew install llvm --with-python@2--with-lldb
安裝插件
VS Code自帶有debug功能,這里我推薦使用LLDB Debugger插件。
接下來,為項目配置調試參數。
配置調試參數
使用VS Code打開MySQL源碼目錄,在側邊欄選擇debug欄目,添加配置,program輸入需要調試的程序路徑,這里選擇你編譯好的mysqld路徑,args輸入程序啟動所需的參數,通常會指定mysqld的配置文件。這樣就配置好了,是不是很簡單。
啟動調試
點擊啟動按鈕,啟動後如果沒有設置斷點會mysqld會正常啟動,如果觸發了斷點會如下圖顯示。
整個調試窗口基本分為六部分,所有的調試操作都在這里完成:
1:顯示變數信息
2:設置重點關注的變數
3:顯示調用棧信息
4:設置斷點信息,在代碼行號前也可以設置斷點
5:代碼顯示區域,上方是調試按鈕,包括 continue/stepover/step in/step out/restart/stop
6:調試終端輸入輸出區
斷點設置
在代碼行號前點擊即可在該行為設置斷點,也可以根據條件設置斷點。以設置ConditionalBreakpoint為例,當程序啟動後會按照你設置的條件表達式判斷是否觸發斷點。
Conditional Breakpoint這種方式用在目標變數達到某條件時觸發斷點,其餘則跳過繼續執行。比如:設置變數等於目標表名時觸發斷點,其餘表則跳過,相對函數名斷點省去很多手工跳過操作。
遠程調試
假如你想調試遠程Linux伺服器上的MySQL上面的方法就不合適了,這時需要遠程調試。lldb和gdb都支持遠程調試,這里以lldb為例。
需要先在遠程主機上安裝lldb,使用yum安裝,源地址在這里http://mirror.centos.org/centos/7/sclo/x86_64/rh
remote$ yum install -y llvm-toolset-7
安裝完成後,啟動lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server
接下來,在VS Code調試界面中新增配置項。
{
"type":"lldb",
"request":"attach",
"name":"Remote attach",
"program":"~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"<target_pid>",
"initCommands": [
"platform select remote-linux",
"platform connect connect://<remote_host>:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"
}
},
program:本機也要拷貝一份目標程序,載入
pid:填寫遠程主機的mysqld進程id
sourceMap:填寫mysqld編譯的代碼路徑與本機代碼庫路徑的映射,這樣調試時代碼才可以和程序關聯在一起看
注意:記得調試前將代碼切換到與目標程序版本一致的branch