linux怎么打開(kāi)exe 為什么linux系統(tǒng)不能運(yùn)行exe文件?
為什么linux系統(tǒng)不能運(yùn)行exe文件?linux下默認(rèn)是無(wú)法顯示exe文件,要直接下載wine意見(jiàn)exe,但不是他所有exe都也可以運(yùn)行的。Wine(“Wine Is Not an Emulator
為什么linux系統(tǒng)不能運(yùn)行exe文件?
linux下默認(rèn)是無(wú)法顯示exe文件,要直接下載wine意見(jiàn)exe,但不是他所有exe都也可以運(yùn)行的。Wine(“Wine Is Not an Emulator”的首字母縮寫(xiě))是一個(gè)能在功能高效POSIX-compliant操作系統(tǒng)(道界類(lèi)Linux,MacOSX及BSD等)上正常運(yùn)行Windows應(yīng)用方法的兼容問(wèn)題層。
輸入輸入命令winecfg,也可以dash里不能找到winetricks,又出現(xiàn)wine的配置界面:
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
任何語(yǔ)言在理論上大都這個(gè)可以生成可執(zhí)行文件的(exe文件是windows環(huán)境下的一種可執(zhí)行文件),但實(shí)際上因此python在設(shè)計(jì)什么之時(shí)將其設(shè)計(jì)什么曾經(jīng)的一個(gè)腳本語(yǔ)言,其并沒(méi)有咨詢編譯器成可執(zhí)行文件的編譯器,但有一種方法是接受發(fā)我,那就是化入PyWin32包后,在用下面的pyinstaller命令通過(guò)發(fā)郵箱生成一個(gè)exe。
新的命令格式不勝感激,為方便些顯示做了分行處理:
pyinstaller[主文件]-p[其他文件1]-p[其他文件2]
--hidden-import[自建模塊1]
--hidden-import[自建模塊2]
過(guò)來(lái),我們說(shuō)明一個(gè)概念。什么是可執(zhí)行文件?
PE(Portable Executable)格式,是微軟Win32環(huán)境可移植可執(zhí)行文件(如exe、dll、vxd、sys和vdm等)的標(biāo)準(zhǔn)文件格式。PE格式文件分為PE32和PE64,PE32是win32也就是windows32位操作系統(tǒng)原生態(tài)的可執(zhí)行文件,其可以借助魔獸世界64子系統(tǒng),是可以正常運(yùn)行于64位windows環(huán)境下。PE64是windows64位操作系統(tǒng)下的可執(zhí)行文件格式。
在宇宙第一IDEVS環(huán)境下,可工程配置管理器來(lái)你選擇生成氣體的exe是32位的應(yīng)該64位的。
PE文件格式如下圖所示:
我們是從PE文件的格式圖很難看出,PE文件更像一個(gè)數(shù)據(jù)的組織架構(gòu)圖,其通過(guò)嚴(yán)格的的數(shù)據(jù)再組裝通過(guò)數(shù)據(jù)分配管理索引(當(dāng)然這些是由編譯器和鏈接器最終生成沉淀的),但是其代碼終于編譯程序成與CPU相關(guān)的機(jī)器碼,其依戀的庫(kù)是系統(tǒng)相對(duì)應(yīng)的dll動(dòng)態(tài)庫(kù)或其它資源。
PYTHON語(yǔ)言一個(gè)腳本語(yǔ)言,其運(yùn)行是通過(guò)python解釋器負(fù)責(zé)執(zhí)行的。其代碼在運(yùn)行過(guò)程中實(shí)際python解釋什么器將python語(yǔ)言接受漢語(yǔ)翻譯成機(jī)器碼,后再再交由CPU去負(fù)責(zé)執(zhí)行。
不過(guò)PYTHON也是可以不編譯程序的,只不過(guò)這里的編譯器只是將腳本代碼英譯中成pythonto填寫(xiě)的字節(jié)流,其并不是什么真正的機(jī)器碼。
所以才我們也可以并且這樣的一個(gè)綜合比只能證明:
C語(yǔ)言經(jīng)編譯鏈接,最終生成了與機(jī)器機(jī)關(guān)的匯編執(zhí)令,其編譯后文件數(shù)據(jù)的組織為PE格式,其在運(yùn)行時(shí)由進(jìn)程加載器負(fù)責(zé)其依戀的系統(tǒng)庫(kù)的加載和重新初始化。而python不論有無(wú)程序編譯,結(jié)果是將其python的代碼的或字節(jié)流交由python解釋什么器去解釋什么不能執(zhí)行,其與系統(tǒng)任何關(guān)系,但python講解器是與系統(tǒng)或是,不過(guò)python代碼在使用過(guò)程中要的庫(kù)資源由python虛擬機(jī)共同負(fù)責(zé)打開(kāi)程序系統(tǒng)初始化,并給python能提供接口。
而現(xiàn)在python打包生成氣體的exe只不過(guò)是對(duì)python腳本、python的解釋器、python腳本要引導(dǎo)出的包和python虛擬機(jī)進(jìn)行一個(gè)發(fā)郵箱,未必一個(gè)能夠意義上的exe文件,其在運(yùn)行過(guò)程中本質(zhì)是由python解釋什么器共同負(fù)責(zé)回答python代碼并在其虛擬軟件中負(fù)責(zé)執(zhí)行的。