linu下的c程序怎么在windows下執行

2022-11-30 11:05:02 字數 4644 閱讀 2598

1樓:匿名使用者

linux的c語言程式要想拿到windows下面執行,那麼得重新編譯一次。。。不能直接執行的

2樓:御含靈

有些c語言可以直接在windows下編譯的

如果不行裝一個cygwin吧 然後可以裝gcc編譯

3樓:豬旺哥

源**可以移植,目標程式不能移植,哈~~ 儲存管理、程序管理、裝置管理都不一樣嘿~~

4樓:全盼芙儲碩

先確保你的c程式沒有呼叫win下專有的api,比如win32api或.net等,

如果有,就需要另寫介面層。最好能只呼叫posix庫或跨平臺的庫,或完全原創的演算法庫。

c程式滿足和win專有介面能脫離直接關係,就能在linux下編譯。

5樓:匿名使用者

英文是 port

中文是移植

不過實際上,要幹很多工作,具體看你這個程式的函式庫呼叫了。cygwin 都不知道那就別考慮這個問題了。

linux下編譯的c語言程式,怎樣拿到windows下執行?

6樓:甫清禕

linux下和windows的程式設計通常是很難互相支援的,不然現在也不會出現windows和linux的市場爭奪了

隨便的一個遊戲或者軟體如果可以輕鬆的移植平臺,恐怕微軟就離倒閉不遠了

7樓:匿名使用者

linux 程式不能在windows 下用!!

你把源**在windows下再編譯一邊就可以了

8樓:桫_欏

上邊兩位回答的已經很好了 ,呵呵 ,逛逛,留個腳印

linux下的程式如何在windows下執行

9樓:匿名使用者

本質區別是這樣的,linux下用的是伯克利socket,windows底下用的winsocket.

兩者其實是大同小異的,不同的地方在以下幾點:

1 標頭檔案不同,在linux下用到的關鍵標頭檔案

windows下用到的是

2 socket的初始化不一樣,在windows下要有一個wsastartup,而linux 下沒有。

3 具體的細節不一樣,linux下的c和windows下的c的一些語法有些出入,你自己找找。

下面我把windows下的socket通訊的最基本的結構給你,你對照著修改就可以了,一下的程式我除錯了一下,編譯過了。

客戶端#include

#include

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket sockclient=socket(af_inet,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(6000);

char recvbuf[100];

recv(sockclient,recvbuf,100,0);

printf("%s\n",recvbuf);

send(sockclient,"this is lisi",strlen("this is lisi")+1,0);

closesocket(sockclient);

wsacleanup();

} 伺服器端

#include

#include

void main()

if ( lobyte( wsadata.wversion ) != 1 ||

hibyte( wsadata.wversion ) != 1 )

socket socksrv=socket(af_inet,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(6000);

listen(socksrv,5);

sockaddr_in addrclient;

int len=sizeof(sockaddr);

while(1) }

10樓:鍵盤雀躍

找移植版,linux下的程式大多是自由軟體,有源**,可以自行編譯。

11樓:影sun雲

這個兄弟真會開玩笑,兩個系統核心都不一樣,怎麼能行!

12樓:匿名使用者

wine可以執行部分程式

13樓:匿名使用者

在windows中安裝cgwin或mingw軟體即可實現linux中程式到windows中移植。

cygwin是許多自由軟體的集合,最初由cygnus solutions開發,用於各種版本的microsoft windows上,執行unix類系統。cygwin的主要目的是通過重新編譯,將posix系統(例如linux、bsd,以及其他unix系統)上的軟體移植到windows上。cygwin移植工作在windows nt、windows 2000、windows xp以及windows server 2003上比較好.

mingw的庫,可以跟windows本地的msvcrt庫(windows api)一起工作。mingw佔用記憶體、硬碟空間都比較少,能夠連結到任意軟體,但它對posix規範的實現沒有cygwin庫完備。

14樓:我是何方

如何在windows中啟用linux子系統

linux下的c函式怎樣才能在window下執行

15樓:

可以在 windows 安裝 cygwin,這就有了 gcc 編譯器。

cygwin是一個在windows平臺上執行的unix模擬環境,是cygnus solutions公司開發的自由軟體。

它對於學習unix/linux操作環境,或者從linux到windows的應用程式移植,或者進行某些特殊的開發工作,尤其是使用gnu工具集在windows上進行嵌入式系統開發,非常有用。隨著嵌入式系統開發在國內日漸流行,越來越多的開發者對cygwin產生了興趣。

16樓:

去下個cygwin吧,可以在windows平臺上執行的unix模擬環境,佔用比虛擬機器小多了。

17樓:匿名使用者

不行 可執行檔案格式不一樣, 系統函式不一樣, linux是elf window是pe

18樓:匿名使用者

安裝 cygwin 就可以了

19樓:匿名使用者

cygwin可能能幫你解決這個問題。或者用虛擬機器linux不裝圖形介面。

20樓:匿名使用者

保留源c檔案,win開某編譯器編譯

21樓:匿名使用者

學linux程式設計的話直接裝個linux不就好?

22樓:匿名使用者

直接單裝linux跑吧

如何在linux下執行python程式?

怎樣將windows下寫的c程式在linux下編譯執行,謝謝?

23樓:

先確保你的c程式沒有呼叫win下專有的api,比如win32api或.net等,

如果有,就需要另寫介面層。最好能只呼叫posix庫或跨平臺的庫,或完全原創的演算法庫。

c程式滿足和win專有介面能脫離直接關係,就能在linux下編譯。

linux下用c寫的程式生成可執行檔案怎麼才能在windows下執行呢?有沒有相關外包?

24樓:

你是想一處編譯到處執行? 是否可以執行時編譯, 根據不同的作業系統選擇不同編譯器

25樓:你還我賬戶

要重新編譯的。。。有些呼叫的庫函式都會不同。。。

26樓:賣萌犯法

用cygwin.........

linux下用gcc生成的檔案在windows下怎麼不能執行?

27樓:茆知蕢炫明

暈,linux下的執行檔案本來就不能在windows下執行。

linux的執行檔案一般是e2f格式。windows則是pe格式的。

如果你的程式是c寫的。你可以將其源**在windows下用vc之類的編譯,運氣好的話,修改不多就可以執行了。

linu下的c與windows下的c的區別

linux 庫 編輯器 編譯器 都是分別安裝的 運用靈活windows 一般是整合開發環境,包含了上述東西c都有個標準庫,那個是一樣的,其他的就不一定一樣了,linux下的庫可以等你需要時再安裝進系統,還有相關文件說明 linux下有c 的 其實linux下有個很強大的glibc庫,他將c重新封裝,...

想在C盤裝WIN7,怎么做,想在C盤裝WIN7,怎麼做?

首先你的c盤空間太小了,最好在20g左右,我裝的win7旗艦版13g,想裝的話要把硬碟重新分割槽。你的c盤現在是xp的話,安的時候它會提示你是要升級安裝,還是全新安裝。升級安裝會有很多問題,全新安裝的話如果不格式化,你的xp系統還是會保留在c盤,但是不可用了,還有你的空間也不夠。如果不想格式化硬碟重...

linu下的c程式設計和windows下有什麼區別?越詳細越好

系統的話一點都沒有區別。只是你選擇的軟體會稍有不同。但是作為c的語法一點都沒有變。推薦linux下使用geany。中文的,操作方便,體積小。用起來十分爽。linux 簡單的說跟 windows 一樣是一種作業系統,只是兩者之間的使用方法和習慣有所區別。具體的區別其實很大,不過已經不是能在這裡說清楚的...