python 既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實(shí)際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因為C語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實(shí)際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因為C語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計用來同時編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE實(shí)際上是一個解釋器文件。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
代碼一定要人去寫嗎,能不能用Python弄個人工智能來寫C ?
人:請為我寫一個軟件。
計算機(jī):我能寫一百萬種軟件。你想要哪一個?
人:我想寫一個聊天工具。
電腦:我找回了現(xiàn)成的軟件微信,可以嗎?
大家:幫我建立一個全新的
電腦:好的,你想要什么樣的啟動界面?
人:我不知道,請自便
計算機(jī):你想要什么樣的程序圖標(biāo)?
人:我不知道,請隨意
電腦:既然你有空,最好用微信
人:我要建一個新的
電腦:好的,圖標(biāo)先空了,讓我們做第一頁,你想用哪種布局?
計算機(jī):這三部分的高度和比例是多少?你用什么顏色?
男人:我不知道
電腦:你必須知道,否則我不能繼續(xù)
男人:如果我什么都知道,我就是個程序員
電腦:我怎么知道你在想什么?你最好用微信,我退出
人:你相信我砸了你嗎?
計算機(jī):你不是程序員,你和我BB什么
看來只有pypy項目的rpython語言(Python的一個子集)可以轉(zhuǎn)換成C,幾乎沒有實(shí)際用途。