回覆列表
-
1 # jacins3
-
2 # 文藝調慢生活
編譯是將原始碼編譯成各種二進位制檔,形式多樣,有作為於硬體互動的介面的,有作為裝置執行時服務的,也有作為在呼叫特定功能是時使用的。Linux下常見使用gcc做編譯,以最常見的例子,手機ROM在編譯時就會用到在Linux下編譯c。
編譯是將原始碼編譯成各種二進位制檔,形式多樣,有作為於硬體互動的介面的,有作為裝置執行時服務的,也有作為在呼叫特定功能是時使用的。Linux下常見使用gcc做編譯,以最常見的例子,手機ROM在編譯時就會用到在Linux下編譯c。
linux和windows下面編譯c沒有什麼區別。不同作業系統下面的c也沒有區別。有區別的是lib庫。除了標準c的函式,比如printf。其他很多函式在不同的作業系統是不同的。
在回答為什麼要寫linux上的程式設計。這個裡面最主要的原因是開源社群裡面的大多數專案都是基於linux開發的。如果希望在windows下面執行,需要做很多額外的工作。如果你就是要在windows下面做,你可以看看MinGW。
linux下c程式設計與windows的不同表現在
1. 專案管理的方法不同:一般Windows都是用的Visual Studio。linux一般用authconf或者cmake
2. 編譯器不同:linux下面是gcc。windows用的是windows sdk
3. 檔案系統的不同:windows裡面沒有linux裡面的檔案許可權的那套。而是另外一套管理許可權的方法。
4. 作業系統配置:linux使用虛擬檔案系統。windows使用登錄檔
5. 程序和執行緒管理。
6. 網路socket:windows好像支援多種socket介面。但是並不是都和linux相容。
7. 圖形介面:windows是一套。但是linux裡面可以基於xorg,或者gtk qt。這些都有不同的介面建立視窗。
8. 包含但是不限於以上的各個方面。
最後總結一下。linux編譯c程式本身沒有用。但是會編譯linux c程式會為你開啟一盞通往開源社群的大門。當然這個不是唯一的開門方法。因為社群的很多程式碼並不是c寫的。