您好,登錄后才能下訂單哦!
經常被問到的問題,?如何學習C++,?如何學習Linux,?如何開始?
其實這個問題對于不同的人答案往往不盡相同,每個人所處的環境就不同。一個普遍的現象是有一些windows開發基礎的人,他們想轉Linux開發,那我就以這個點和大家討論一下。
相對于Linux下的C/C++開發,在windows下的初學者往往容易入門,原因是visual?studio,?這個強大的工具隱藏了很多的細節,好多人甚至以為拖拖控件,寫寫消息響應函數就是軟件工程師了,這點在入門的時候尤為明顯,出生牛犢不怕虎,信心滿滿。但是在這個強大工具的背后,隱藏了太多的東西,其中許多對于我們來說是非常重要的東西,比如Make,?debug,?call?stack,?匯編代碼,OS,哪些功能是系統提供的,哪些是工具提供的。所以很多人轉過來的時候往往去類比以前windows的知識,但是又對不上,再加上無人指點,工作不用,可能慢慢的就會失去信心。
?
但是我認為作為一個有追求的軟件工程師,如果不了解Linux,?我不認為他合格,當然此處無意挑起平臺之爭,實在是對于軟件工程師而言Linux給了我們另一個選擇,另一種思路,同時也提供了我們很多的輪子和一座寶庫。
?
如下總結出一些建議,希望對Windows轉Linux開發的朋友有所幫助。
1.?不要一開始就去搞內核,先裝上系統用Linux來完成一些日常的事情,比如:看電影,拷貝文件,添加修改用戶,文件,學學shell?腳本。
2.?試著用命令行去編譯一些簡單的代碼,然后逐步增加難度,然后學學make。
3.?學習Linux的一些基礎知識,找本書看看。
4.?嘗試自己去寫一些小的東西,動起手來,別總看書而不去實踐,實踐出真知。
5.?學習如何調試代碼。
6.?學習主要的一些系統調用,文件操作,socket操作等等。
7.?學習簡單的驅動開發,比如:串口驅動。
8.?學習...
9.?學習內核源代碼。
?
另外在此需要指出的是,當你真正看透了Windows和Linux的軟件開發的時候,你可能并不覺得他們有很大的區別,所謂殊途同歸,說的可能就是這個道理,比如這兩個平臺的代碼最后都會轉換為IA32架構的指令序列,在轉換過程中使用了不同的工具,反出來的匯編代碼區別也不是太大。還是那句話,做同樣的事情,每個人的切入點不同,所謂站得一山方望得另一山高,千萬不要畏而不前,遲遲不敢動手。
?
希望此文對大家有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。