導航:首頁 > 源碼編譯 > 編譯一份文件在不同平台運行

編譯一份文件在不同平台運行

發布時間:2023-02-05 23:29:15

1. java語言是如何做到可移植性強、跨平台、「一次編譯到處運行」的呢

因為java代碼是運行在JVM上的,不同的平台有不同的JVM,如Windows和Mac上的運行同一款游戲,他們的實現方式肯定不一樣,但你都能讀取游戲的存檔文件。你不需要知道JVM在不同平台的實現方式,但他們解析java的class文件是一樣的邏輯,就是這樣java實現跨平台的。

2. 用visual c 編出的程序如何在別的電腦上運行

使用visual c是微軟公司退出的c/c++語言編譯軟體,因此它所編譯出來的程序是微軟的exe運行格式。這種格式不能再除了windows以外的任何平台運行。當然,其他操作系統可以通過運行虛擬機來支持這種軟體。
一般情況下,windows開發的軟體只能在windows上運行。這是因為windows內置大量專用api,這些api在其他的操作系統上不存在,因此不能運行。

但是,對於沒有使用windows api的代碼可以通過在其他操作系統上的編譯軟體來運行。比如linux上的gcc編譯器,就能實現編譯。
下面是具體操作過程:
以著名的hello world程序為例,在linux的終端頁面輸入gcc -c hello.c(hello.c是你的代碼文件,當然目錄需要對),接著會生成hello.o的一個文件,接下來在終端輸入gcc -0 hello hello.o即可編譯成可執行文件。
同樣,以上編譯的軟體只能在linux平台運行,需要跨平台的軟體是需要多個語言的。企圖一份代碼通吃全平台是不現實的。
另附,在其他操作系統上的編譯軟體和語言
名稱 系統 語言
gcc linux c類
dev c++ windows c/c++
vs windows 幾乎所有語言
vc windows c/c++
free pascal windows/linux pascal
laser linux/windows pascal
delphi windows/linux pascal
xcode mac os object c/swift

3. 怎麼把同一個代碼編譯成不同操作系統下可運行的程序

匯編不行的。Windows下面的匯編是intel風格的,而linux的匯編是AT&T風格的,不一樣。實際上,匯編的移植性是非常差的。

這個和編譯器有關,而且還和你的代碼的編寫語言有關。一般來說,C語言移植性較好。Windows上運行的程序一般都會調用windows下的API、DLL等,所以推薦選擇Windows下的編譯器,比如說visual studio,turbo c等。linux下面也是這樣的啊,你用gcc編譯吧。
32位和64位。gcc有個-m64選項,用了這個選項就可以編出64位的程序。當然你還需要64位的系統庫。Windows下面也有相應的64位程序編譯器。
在這里要說明的是:如果本機是32位的,那麼編譯32位程序叫本機編譯,如果用32位機器編譯64位程序或者用64位機器編譯32位程序,那麼很明顯編譯好的程序不能在本機運行(最多是兼容運行),這種編譯方式叫做交叉編譯。

兄弟,建議你多看看編譯器、交叉編譯方面的材料。相信會有很大幫助的。

4. 同樣的匯編器,在不同的操作系統上可以運行嗎同樣的高級語言編譯器,可以在不同的操作系統上運行嗎

1.如果匯編器本身就可以自己進行引導啟動、文件管理器了。不需要操作系統也可以。
2.「同樣的匯編器」?如果指同一個可執行文件,不可以。

編程語言不受操作系統的限制。都可以編譯成對應操作系統的程序。

但對應平台的程序不可以在其他平台上運行。

5. 用java編寫的程序,可以在各種平台上運行的擴展名是什麼

一個一個按你的步驟給你說:
1,java可以編寫成.exe,雖然是exe文件,但是不代表是windows可執行文件,盡管擴展名一樣
2,可以打包成jar,需要有jdk支持,通過JVM運行,這個才是java真正的運行包。
3,.java是java程序的源代碼文件
4,.class不是類的擴展名,JVM並不能直接運行java源文件,需要通過javac將java源文件編譯成位元組碼文件,也就是.class文件,JVM在運行某個類的時候,通過載入指定該.class文件就可以,因為class文件名與類名相同,但是不能理解他倆是一回事,運行的是類,不是文件。
jar轉換成exe的過程其實是沒有必要的,因為要運行java程序必須有JVM,它所轉換的exe和C++寫出來程序的exe有區別的。不是同一個擴展名文件裡面東西就一樣。好比cmd里是可執行文件,但是C#編寫出來的exe是微軟中間碼。

閱讀全文

與編譯一份文件在不同平台運行相關的資料

熱點內容
phpjson合並 瀏覽:458
app伺服器程序放在哪裡 瀏覽:841
電商怎麼選擇雲伺服器 瀏覽:565
錘子視頻文件夾 瀏覽:16
演算法的兩要素是什麼和什麼 瀏覽:773
如何創建伺服器多用戶 瀏覽:654
javaonlinejudge編譯錯誤 瀏覽:65
命令與征服3泰伯利亞戰爭升級 瀏覽:690
投標工具需要加密鎖嗎 瀏覽:503
蘇州阿里雲伺服器服務電話 瀏覽:783
怎麼知道app專屬流量 瀏覽:62
單片機模擬動畫教程 瀏覽:735
linux解壓鏡像 瀏覽:164
c語言可以在哪編譯 瀏覽:127
如何對spl的密碼加密 瀏覽:74
oppoa59s如何添加應用加密 瀏覽:515
比特幣asic演算法 瀏覽:175
查看伺服器外網訪問地址 瀏覽:858
魔獸爭霸地圖最新加密 瀏覽:687
暢捷雲APP怎麼l發票 瀏覽:214