-
開發環境選擇
vim,vscode,qt,visual studio都可以做linux c++開發,但是作為windows程式設計師,最熟悉的還是visual stuio,加上visual studio 2019 支援cmake及linu開發,所以最終選擇了visual studio 2019 + cmake作為開發環境.同時使用虛擬機器中的ubuntu作為編譯機. -
學習cmake基本用法
學習設定包含路徑;
學習設定庫搜尋路徑;
學習設定動態庫靜態庫的匯入; -
選擇boost作為基礎庫
有許多常用演算法的實現,省下不少造輪子的時間.
可以將很多作業系統相關細節透明化,實現跨平臺開發. -
學習一個linux發行版基本用法
選擇了最容易入手的ubuntu,有介面操作,也可以使用命令列,還有程式監視器. -
選擇一個檔案傳輸工具
FinalShell,不經可以通過ui傳輸檔案,還可以通過ui的方式操作檔案. -
編碼
演算法實現上到是沒什麼區別,但是一些細節還是需要注意的:- 路徑格式,windows是正斜槓('/')反斜槓('')都ok,linux必須是正斜槓('/').經常使用boost::filesystem庫會減少很多麻煩.
- windows下wchar_t是2個位元組,linux下是三個位元組,所以程式碼不能寫的太死,記憶體分配是經常使用sizeof就可以了.
- 本機字元windows下是ansi,linux是utf-8,即平時使用的api引數是char*時,windows必須傳ansi字串,而linux必須傳入utf-8字串.
- 儘量不要使用UINT DWORD這些visual c++的資料型別,舊程式碼改造留下的如果修改很麻煩,就只能用個標頭檔案typedefine一下這些型別了.
- linux不支援程式碼匯入庫,即不能使用 #pragma comment(lib,"xxx")這種方法通過程式碼自動匯入庫,只能通過cmake程式碼匯入.
- windows的dll搜尋路徑預設包含當前路徑,linux並沒有,不會搜尋當前路徑,可以通過修改LD_LIBRARY_PATH環境變數來新增索索路徑.
- gcc編譯器很多時候比msvc的編譯器更加嚴格,相同的程式碼,windows下編譯通過,linux下編譯反而報錯.
- linux下一切皆檔案,包括socket,程式等,這點和windows的控制程式碼有點不一樣.如果需要在程式間傳遞控制程式碼,則需要使用linux特有的與套接字,這點在windows下反而更方便,一個windows api就可以實現跨程式控制程式碼拷貝了.
- linux下網路使用epoll,windows使用iocp,不過有boost的asio,直接封裝好了.
-
現狀
一個多月過去了,現在程式已經可以跑在windows和linux上了,visual studio 2019幫了很大的忙,試想如果從vim開始寫linux,估計會把人逼瘋.而通過vs,一個月,基本上現在常規的開發,問題已經不大了,偶爾遇到問題,也基本可以解決.
windows程式設計師開發linux程式的頭一個月
相關文章
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 不會填坑的程式設計師不是一個好程式設計師!程式設計師
- 第一個想取代程式設計師的AI程式設計師,失敗了?程式設計師AI
- 硬體程式設計師和軟體開發程式設計師相比,哪一個就業發展前景比較好呢?程式設計師就業
- 採訪一個 10 歲的程式設計師,他在 30 萬開發者群裡教程式設計程式設計師
- 一個程式設計師的編年史程式設計師
- 一個理想主義的程式設計師程式設計師
- 一個程式設計師眼中的 UCAN 2019程式設計師
- 一個BAT老程式設計師的忠告!BAT程式設計師
- 一個程式設計師的2021總結程式設計師
- 一個程式設計師的負罪感程式設計師
- 程式設計師需要了解的10個Linux命令程式設計師Linux
- 程式設計師被高薪聘用的13個開發技能!get!程式設計師高薪
- 一個引發程式設計師們幹架的問題程式設計師
- 一個程式設計師 && 作者 && 設計師的 2018 年終總結程式設計師
- 打造一個好用的 Windows 程式設計環境 2.程式設計環境Windows程式設計
- 頂級程式設計師推薦的程式設計開發書籍【整合】程式設計師
- Java全棧程式設計師之01:做個Linux下的程式猿Java全棧程式設計師Linux
- Windows弱爆了!Linux才是程式設計師的首選!真的好用!WindowsLinux程式設計師
- 【譯】我是一個平庸的程式設計師程式設計師
- 一個野生程式設計師的自我修養程式設計師
- 一個程式設計師的買房歷程程式設計師
- 做一個心理健康的程式設計師程式設計師
- 假如程式設計師的一天變得無厘頭程式設計師
- 程式設計師街頭生存手冊程式設計師
- TGDC | 一個遊戲程式設計師的堅持 —— 論向量化程式設計遊戲程式設計師
- 做個清醒的程式設計師之要不要做程式設計師程式設計師
- 又一名倒下的程式設計師! - 程式設計師健康指南程式設計師
- Linux伺服器程式設計是一個比較剛需的開發方向Linux伺服器程式設計
- 完了!Windows弱爆了!它才是程式設計師的首選!程式設計師:真的好用!Windows程式設計師
- Java程式設計師必讀:最新流行的Java開發程式設計技術Java程式設計師
- 程式設計師是吃青春飯的?一張圖道盡程式設計師的發展方向程式設計師
- 講一個程式設計師如何副業月賺三萬的真實故事程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師
- 那個程式設計師的 Linux 常用軟體清單 | Linux 工具篇程式設計師Linux
- 開發了一套程式設計師答題小程式。有興趣的可以一起開發。程式設計師
- 如何從一個程式設計師走向成功?程式設計師
- 程式設計師永遠不要再犯的5個程式設計bug程式設計師