讓exe運(yùn)行自己的dll文件 dll和exe有什么區(qū)別?
dll和exe有什么區(qū)別?現(xiàn)在在windows中,EXE和DLL是基于PE格式的。Exe是一個(gè)常見的可執(zhí)行文件,其中包含數(shù)據(jù)和代碼,而DLL是一個(gè)動(dòng)態(tài)鏈接庫文件,或純資源文件,只包含數(shù)據(jù),不包含程序代
dll和exe有什么區(qū)別?
現(xiàn)在在windows中,EXE和DLL是基于PE格式的。Exe是一個(gè)常見的可執(zhí)行文件,其中包含數(shù)據(jù)和代碼,而DLL是一個(gè)動(dòng)態(tài)鏈接庫文件,或純資源文件,只包含數(shù)據(jù),不包含程序代碼。DLL的目的之一是提供可由許多不同應(yīng)用程序使用的函數(shù)和資源。DLL函數(shù)和資源為軟件開發(fā)提供了重用(注意,所謂重用就是同一個(gè)DLL文件可以同時(shí)調(diào)用多個(gè)exe文件)。當(dāng)磁盤的物理映像加載到被調(diào)用方的內(nèi)存空間或共享內(nèi)存空間時(shí),它們?cè)谶\(yùn)行時(shí)執(zhí)行。
exe文件和dll文件的區(qū)別到底是什么?
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實(shí)際上是一種“老”和“底”的語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因?yàn)镃語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計(jì)用來同時(shí)編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺(tái)的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實(shí)際上由引導(dǎo)加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。