{eval=Array;=+count(Array);}
編譯是將源代碼編譯成各種二進(jìn)制檔,形式多樣,有作為于硬件交互的接口的,有作為設(shè)備運(yùn)行時(shí)服務(wù)的,也有作為在調(diào)用特定功能是時(shí)使用的。Linux下常見使用gcc做編譯,以最常見的例子,手機(jī)ROM在編譯時(shí)就會(huì)用到在Linux下編譯c。
linux和windows下面編譯c沒有什么區(qū)別。不同操作系統(tǒng)下面的c也沒有區(qū)別。有區(qū)別的是lib庫。除了標(biāo)準(zhǔn)c的函數(shù),比如printf。其他很多函數(shù)在不同的操作系統(tǒng)是不同的。
在回答為什么要寫linux上的編程。這個(gè)里面最主要的原因是開源社區(qū)里面的大多數(shù)項(xiàng)目都是基于linux開發(fā)的。如果希望在windows下面運(yùn)行,需要做很多額外的工作。如果你就是要在windows下面做,你可以看看MinGW。
linux下c編程與windows的不同表現(xiàn)在
1. 項(xiàng)目管理的方法不同:一般Windows都是用的Visual Studio。linux一般用authconf或者cmake
2. 編譯器不同:linux下面是gcc。windows用的是windows sdk
3. 文件系統(tǒng)的不同:windows里面沒有l(wèi)inux里面的文件權(quán)限的那套。而是另外一套管理權(quán)限的方法。
4. 操作系統(tǒng)配置:linux使用虛擬文件系統(tǒng)。windows使用注冊(cè)表
5. 進(jìn)程和線程管理。
6. 網(wǎng)絡(luò)socket:windows好像支持多種socket接口。但是并不是都和linux兼容。
7. 圖形界面:windows是一套。但是linux里面可以基于xorg,或者gtk qt。這些都有不同的接口創(chuàng)建窗口。
8. 包含但是不限于以上的各個(gè)方面。
最后總結(jié)一下。linux編譯c程序本身沒有用。但是會(huì)編譯linux c程序會(huì)為你打開一盞通往開源社區(qū)的大門。當(dāng)然這個(gè)不是唯一的開門方法。因?yàn)樯鐓^(qū)的很多代碼并不是c寫的。
0
回答0
回答2
回答10
回答0
回答0
回答10
回答0
回答0
回答10
回答