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