Linux 下的 C 開發和 Windows 環境下的開發有什麼區別?

時間 2021-05-05 15:09:36

1樓:張杰

1、開發環境

2、系統 API

3、第三方庫

一年前,13年我做Windows底層開發,常用的技術與工具庫:C/C++,STL/POCO/BOOST, Python, lua, gTest, VS, Notepad++ ...

目前做遊戲開發,常用的技術與工具庫:C/C++, STL/BOOST, Python/Shell/Awk, Django, Emacs, MySQL, 很多第三方庫(Json,xml, ...).

除了語言標準沒差,其他差距還真的挺大的,不過有基礎的話,乙個月也就可以上手做事情了,其他的慢慢學。

2樓:

WIndows下用Visual Studio C++ , Linux下沒有這個東西,有類似的IDE但是用的不多,你必須用vim編寫程式,用g++去編譯生成二進位制程式後執行,這是開發工具的不同。

C++號稱是跨平台的,但是Visual C++的編譯器和g++差別還是很大的,有可能在前者能編譯通過而在後者卻報錯,反過來也有可能,同樣的錯誤,報錯資訊卻不一樣。

3樓:

語法之類基礎知識都一樣,工具風格區別比較大需要熟悉,但是開發方向差別非常大。

我見過的c++/windows招聘職位絕大部分都是客戶端應用類開發,而c++/linux是以網際網路行業後端服務為主,關注點、背景知識都完全不同,兩者互換的話都要從頭積累。

4樓:高衝

兩種作業系統的核心不同,記憶體分配機制不同;

不過如果你不是做系統軟體的開發,而是 MIS 、ERP 之類的主要與資料庫及業務相關的軟體,則與作業系統的關係並不大。

5樓:常溪玲

受邀答題。就開發本身而言,其實沒太大區別,無非就是開發玩具型的小專案的時候,Windows 下有更好用的整合開發環境,可以讓開發更簡單一些。但專案大到一定程度之後就沒有顯著區別了。

不同平台下的 C++ 都是 C++,語言本身是一樣的,只是呼叫的 API 不同而已,但即使在同一平台下,開發不同型別的應用的時候開發者能接觸到的 API 集合同樣也是不一樣,因此刻意強調不同平台下 API 的差異其實並沒有意義。

「Linux 下 C++ 開發人員需求量巨大」這個題設是正確的,主要原因是最近幾年網路服務和雲計算的飛速發展,導致了 Linux 下 C++ 開發的需求量爆增。當然,在這些型別的專案實際開發過程中,需要直接接觸系統底層 API 的機會並不多,除了少數核心開發人員外,大部分開發者其實並不需要特別的「Linux 下的 C++ 開發經驗」,只要 C++ 程式設計功底足夠好就可以了。

之所以很多地方招聘的時候刻意要求要有 Linux 下的 C++ 開發經驗,原因是只在 Windows 下寫過 C++ 的人裡面有相當大比例連基本概念都沒有搞清楚的人,相對來說在 Linux 下做過 C++ 開發的程式設計功底較好的比例會相對高一些。

Linux下開發,stm32和arduino,我該何去何從?

小智智 最近試了一下STM32CubeIDE,爽爆了啊。免費,不用破解,編譯工具直接整合,還支援Windows,MacOS,Linux。 Dina 樓主,你一定沒用過STM32CubeMX,用apt dnf yum之類的主repo裝上的arm none eabi gcc是不用怎麼配置的,即裝即用,裝...

linux下開發什麼比windows下更優秀並且非常有必要在LINUX下進行工作?

wywzxxz 自從有了Ubuntu on windows 又稱bash on windows,正式名稱為Linux subsystem for windows 後,我就放棄雙系統了。除了GUI程式是個問題其他都還好。它不是虛擬機器,理論上是乙個原生的linux環境,因此linux執行檔案可以直接在...

如何成為linux服務端C 開發專家

我們愛珂學 我的意見是,別去找那種很明顯搬磚的活。比如像我現在呆的這種遊戲公司,用的C 98,平時做的都是各種各樣的業務邏輯,就完全就是搬磚,最多成為乙個稍微好一點的搬磚工 比了比自己 就算是主程,通常都是來解決各種下面的人解決不了的陳年老bug。真正的技術積累還是得靠工作的,選乙個方向,然後找那個...