什么是串口 將dll文件改為exe文件為什么不能運(yùn)行?
將dll文件改為exe文件為什么不能運(yùn)行?簡(jiǎn)而言之:DLL是一個(gè)動(dòng)態(tài)鏈接庫(kù)(由exe調(diào)用)。DLL不是一個(gè)可以獨(dú)立運(yùn)行的文件。例如:DLL是倉(cāng)庫(kù),exe是倉(cāng)庫(kù)的門。Exe可以打開(kāi)倉(cāng)庫(kù)的門。但即使DLL
將dll文件改為exe文件為什么不能運(yùn)行?
簡(jiǎn)而言之:DLL是一個(gè)動(dòng)態(tài)鏈接庫(kù)(由exe調(diào)用)。DLL不是一個(gè)可以獨(dú)立運(yùn)行的文件。例如:DLL是倉(cāng)庫(kù),exe是倉(cāng)庫(kù)的門。Exe可以打開(kāi)倉(cāng)庫(kù)的門。但即使DLL把自己變成倉(cāng)庫(kù)門,也沒(méi)有任何意義。不允許更改已編譯鏈接庫(kù)和程序的郵戳。最簡(jiǎn)單的例子:如果你把txt改成exe,它會(huì)用txt顯示文本嗎?我肯定不是。更復(fù)雜的:DLL通常稱為:動(dòng)態(tài)鏈接庫(kù):是一個(gè)包含代碼和數(shù)據(jù)的庫(kù),可以由多個(gè)程序同時(shí)使用。它可以由預(yù)設(shè)的EXE文件調(diào)用。所謂的動(dòng)態(tài)鏈接庫(kù)(DLL)只是一個(gè)帶有擴(kuò)展名的可執(zhí)行模塊。動(dòng)態(tài)鏈接庫(kù)。該模塊包含可由其他應(yīng)用程序或其他DLL使用的例程和資源。不像普通的可執(zhí)行程序那樣有擴(kuò)展。dll沒(méi)有通常的主程序,但它有多個(gè)執(zhí)行條目。DLLs的特點(diǎn)是它的代碼在運(yùn)行時(shí)動(dòng)態(tài)鏈接到調(diào)用它的程序。加載后,DLL可以由多個(gè)應(yīng)用程序或其他DLL共享。Exe(executable program),一種可在操作系統(tǒng)的存儲(chǔ)空間中浮動(dòng)的可執(zhí)行程序。在MS-DOS和MS-Windows中,這種文件的擴(kuò)展名是。例2。Windows操作系統(tǒng)中的二進(jìn)制可執(zhí)行文件。有兩種可執(zhí)行文件。其中一個(gè)被命名為。另一個(gè)是。執(zhí)行。希望對(duì)你的問(wèn)題有所幫助。非常感謝。
可執(zhí)行文件(exe、dll)是用什么計(jì)算機(jī)語(yǔ)言寫(xiě)的?
Exe和DLL文件指的是文件類型。這兩種文件類型通常是指windows和DOS等操作系統(tǒng)上的文件類型。Exe是指可執(zhí)行文件。這種類型的文件是可以直接運(yùn)行的程序。如果要運(yùn)行程序,請(qǐng)雙擊此類型的文件。DLL引用動(dòng)態(tài)連接庫(kù)文件。這種類型的文件不是一個(gè)完整的文件,當(dāng)我們執(zhí)行一個(gè)程序時(shí),會(huì)調(diào)用相應(yīng)的DLL文件。一個(gè)應(yīng)用程序可以有多個(gè)DLL文件,并且一個(gè)DLL文件可以由多個(gè)應(yīng)用程序共享。這種DLL文件稱為共享DLL文件。
基本上所有的windows系統(tǒng)開(kāi)發(fā)語(yǔ)言都可以編寫(xiě)這種類型的文件,如:VC#,C,VB,VC,Delphi,Java都可以編寫(xiě)這樣的文件。
既然開(kāi)發(fā)國(guó)產(chǎn)操作系統(tǒng)最大的弊端是應(yīng)用生態(tài),那為何不開(kāi)發(fā)一款能直接運(yùn)行exe程序的操作系統(tǒng)?
因?yàn)槲易霾坏健?/p>
對(duì)于國(guó)內(nèi)的軟件公司來(lái)說(shuō),困難在哪里?
當(dāng)微軟開(kāi)發(fā)早期的操作系統(tǒng)DOS(windows的前身)時(shí),有許多類似DOS的操作系統(tǒng)(如dr DOS),它們也可以運(yùn)行exe程序,甚至比Microsoft DOS提供更多的功能(如快速命令輸入)。
那是因?yàn)楫?dāng)時(shí)的DOS操作系統(tǒng)非常簡(jiǎn)單和粗糙。商業(yè)開(kāi)發(fā)公司很容易充分實(shí)現(xiàn)其職能。
但是現(xiàn)在windows操作系統(tǒng)已經(jīng)是一個(gè)擁有數(shù)十億行代碼的“巨型”操作系統(tǒng)。頂級(jí)程序員可能需要10年或更長(zhǎng)時(shí)間才能完全實(shí)現(xiàn)他們已經(jīng)實(shí)現(xiàn)的功能,達(dá)到10萬(wàn)人的水平。
粗略計(jì)算,按每人每年100萬(wàn)元的年薪計(jì)算,大約需要1萬(wàn)億元。
目前,沒(méi)有一家企業(yè)能夠支付如此高的投資成本。
而且,即使我們花上萬(wàn)億元人民幣來(lái)實(shí)現(xiàn)windows的功能,微軟在過(guò)去的十年里也沒(méi)有閑著,與現(xiàn)實(shí)的差距可能還需要萬(wàn)億元人民幣來(lái)填補(bǔ)。
有人會(huì)說(shuō),為什么要實(shí)現(xiàn)windows的所有功能?只是實(shí)現(xiàn)它的一部分。不需要這么多年,這么多人,這么多錢。
不幸的是,很難找到一個(gè)只實(shí)現(xiàn)部分功能的解決方案。不同的exe需要不同的操作系統(tǒng)函數(shù),不同的操作系統(tǒng)函數(shù)可能相互調(diào)用。
既然一個(gè)企業(yè)承受不起復(fù)制windows操作系統(tǒng)的成本,那我們能不能打出“兩彈一星”的模式,集中國(guó)力不惜一切代價(jià)去實(shí)現(xiàn)呢?畢竟,1萬(wàn)億元只占中國(guó)GDP的十分之一。
不幸的是,這仍然是不可行的。
首先,windows包含數(shù)以萬(wàn)計(jì)的專利。如果我們想完全繞過(guò)這些專利保護(hù),那將比登月更困難。
其次,大量的exe開(kāi)發(fā)者也是歐美公司。他們可能不支持這種完全復(fù)制的windows操作系統(tǒng)。
最后,現(xiàn)實(shí)是,即使來(lái)自全國(guó)各地的架構(gòu)師和程序員都很集中,也很難在十年內(nèi)完全復(fù)制現(xiàn)有的windows系統(tǒng)。