您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么在Linux下進行C++開發,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
目前在Linux下進行C++開發主要是以做界面,做數據處理,做網絡編程,做各類跨平臺的商業軟件,做游戲(較少),下面和大家聊聊在Linux下進行C++開發。
首先要問一下自己,為什么要寫這個程序。
如果我們寫一個運行在windows平臺的應用程序,那么用Linux寫肯定是傻瓜或者強迫癥,因為在windows平臺調試windows程序可以更容易發現并解決問題,反過來也一樣,在Linux平臺調試出來的程序可以更好的適應Linux平臺的環境,如果在windows下寫出一個程序,結果到了Linux的運行環境出了暗病,那真是欲哭無淚,無從查起。
而很多時候,我們的程序都不是運行在windows平臺的,例如嵌入式設備的內存容量十分有限,只能把Linux內核裁裁剪剪然后運行,所以嵌入式開發者一般都要求在Linux平臺下工作。
Windows下,開發工具多以集成開發環境IDE的形式展現給最終用戶。例如,VS2005集成了編輯器,宏匯編ml,C /C++編譯器cl,資源編譯器rc,調試器,文檔生成工具, nmake。它們以集成方式提供給最終用戶,對于初學者而言十分方便。
但是,這種商業模式,直接導致用戶可定制性差,不利于自動化,集成第三方工具的能力弱。例如,無法定制一些宏來處理一些重復操作;體會不到自動化makefile一步到位快感;無法遠程登錄到服務器上進行開發;無法使用某種”粘合劑”來把第三方工具(例如,文本工具,字符串工具)有效地調用起來。可以說,良好的商業支持和傻瓜式開發,是它們主要的優點。
在Linux下,C++開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如,編輯器(emacs, vim)用來進行編輯程序的,調試器(gdb)用來調試程序,編譯器(GCC)用來編譯和鏈接程序的,性能分析工具(gcov, gprof)用來優化程序的,文檔生成器(doxygen)用來生成文檔的。
同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。
本文主要是一些針對Linux下開發工具使用的經驗之談。由于,工具品種繁多,課課家也沒有能力也沒有必要一一介紹。對于Linux下IDE工具,例如 eclipse, anjuta等,它們雖然也很實用,但是使用起來比較簡單,而且目前還算不上主流。所以,它們將不被著重介紹。
同時,現在也不打算寫成各個工具的操作手冊,只著眼于介紹各個工具的想要解決的問題、運行機理和主要特性。
要進行開發,第一件事情就是選擇一個合適的編輯器。編輯器選擇有幾個要素:
1)減少不必要的編輯動作,減少編輯的時間。一切能夠無二義性描述出來的編輯任務,都可以而且應該能被自動化。
例如,每一個C++開發都會有一個main函數;我們在定義.h文件時,都希望加入一些預處理指令#define來幫我們解決重復引用同一個頭文件而帶來的麻煩。鼠標操作總是比鍵盤操作要慢的。這方面EMACS做得可算是到了極致。所以, EMACS用戶經常會吹噓:他們編輯的速度等同于他們思考的速度。
2)可擴展性高。程序員預期的編輯器應該能提供一些編程的幫助,例如,語法高亮,自動補齊,自動排版,語法檢查等等。
留心觀察一下gedit, vim, emacs, ultraEdit,就會發現它們提供的遠不是windows 記事本,寫字板提供的那么簡陋的功能。對于一種新的語言,新的語法,它們應該能很方便地提供支持,而不停留在一種或幾種固定的語言上。
3)用戶可定制性高。如果想長期從事研發, 特別是Linux/unix下研發的話,那么你很有必要學好一個功能足夠的編輯器。
有這么一句話:Linux下程序員分為三種,使用emacs的,使用vi的,還有其它。EMACS是Stallman用lisp語言寫的一個GPL的編輯器。我們這里所說的emacs指的是GNU emacs,而非Xemacs。
由于它的開放性,我們可以把它打造成一個功能強大的IDE。我們在安裝好CGYwin之后,也可以在Windows系統下使用 EMACS。CGYwin和MINGW是第三方寫的一個在Windows系統上模擬POSIX系統的工具。
EMACS與其說的是一個編輯器,倒不如說它是一個操作系統。我們可以用它來寫編程,寫wiki,收發郵件等等。C++開發主要是通過兩種方式來進行擴展:el腳本(elisp是lisp的一種方言)和第三方擴展包。EMACS的入門成本很高。
由于是純鍵盤操作,所以需要記憶大量的快捷鍵;功能強大是通過用戶添加一些擴展包,lisp腳本來實現的。如何正確配置和修改是很需要耐心和技巧的。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
關于怎么在Linux下進行C++開發就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。