windows下編譯linux程序 Cygwin編譯的結(jié)果可以直接在linux下運(yùn)行嗎?
Cygwin編譯的結(jié)果可以直接在linux下運(yùn)行嗎?Cygwin編譯器的編譯結(jié)果可以直接在Linux下運(yùn)行,答案如下:1、可以安裝Cygwin,Cygwin是一個(gè)類似UNIX的仿真環(huán)境,運(yùn)行在Wind
Cygwin編譯的結(jié)果可以直接在linux下運(yùn)行嗎?
Cygwin編譯器的編譯結(jié)果可以直接在Linux下運(yùn)行,答案如下:1、可以安裝Cygwin,Cygwin是一個(gè)類似UNIX的仿真環(huán)境,運(yùn)行在Windows平臺(tái)上,是Cygnus公司開(kāi)發(fā)的免費(fèi)軟件,解決方案公司可以通過(guò)搜索官網(wǎng)下載。下載完成后,記得安裝相關(guān)語(yǔ)言的編譯器和解釋器,并在cygwin中生成Linux可執(zhí)行文件。
2. 您可以安裝VMware、Virtual PC等虛擬機(jī),在虛擬機(jī)中安裝Linux系統(tǒng),然后在Linux系統(tǒng)中編譯相應(yīng)的源代碼,在Linux上生成可執(zhí)行文件。
cygwin下將linux下的程序轉(zhuǎn)化成windows下程序需要注意哪些地方?
Cygwin是一個(gè)Linux模擬環(huán)境。在cygwin中開(kāi)發(fā)windows程序是一個(gè)交叉編譯cygwin調(diào)用cygwin.dll庫(kù)支持GCC的功能,在Linux下支持windows。
如果不是cygwin.dll,您應(yīng)該將-MnO cygwin添加到編譯參數(shù)中,這意味著要使用MinGW的庫(kù)進(jìn)行編譯。缺點(diǎn)是Linux中的一些函數(shù)不受支持。如果你想簡(jiǎn)單的移植,或者cygwin.dll最好一起出版。但這種方法并不能保證所有的可移植性。C語(yǔ)言能否移植還與C庫(kù)在Linux和windows下的不同實(shí)現(xiàn)有關(guān)。最簡(jiǎn)單的例子是,它們的基本數(shù)據(jù)類型可以用不同的方式表示。在Linux中,它們由4個(gè)字節(jié)表示,在Linux中,它們可以由8個(gè)字節(jié)表示。所以函數(shù)的輸出是不同的。因此,您需要做的是稍微看看這兩個(gè)系統(tǒng)的定義,以確保它們的實(shí)現(xiàn)是相同的,不會(huì)產(chǎn)生矛盾。此外,庫(kù)函數(shù)的返回可能不同,必須排除不同的返回值。
Linux系統(tǒng)里包含Linux專用頭文件的開(kāi)源程序怎么轉(zhuǎn)換成Windows下的exe程序?
您可以在cygwin中使用GCC直接編譯,但您需要cygwin環(huán)境才能運(yùn)行。如果您不覺(jué)得太麻煩,也可以使用windowsapi來(lái)實(shí)現(xiàn)這些函數(shù)