什麼叫可執行檔案?一個可執行檔案是怎麼來的

時間 2023-05-09 20:36:04

1樓:葛驕全蘆雪

可移植可執行。

pe)檔案格式的檔案,它可以載入到記憶體中,並由作業系統載入程式執行。它可以是。

exe或。dll檔案。在。

net上下文中,pe

檔案必須由公共語言執行庫翻譯成本機**,然後才能由作業系統執行。

com、bat也都是可執行檔案!

2樓:東哥法律援助

簡單的說你雙擊能執行的可執行檔案是指計算機的作業系統能夠解釋並執行的二進位制**檔案。最初的可執行檔案包括**段、資料段、堆疊段和擴充套件段等。**段存放了計算機的執行指令,即cpu要進行的操作指令,資料段存放了cpu要用到的資料,堆疊段則存放了與暫存器有關的資訊等等。

現在你覺得許多檔案都能夠被計算機執行,是因為作業系統已經做得比較人性化,例如你雙擊一個文字檔案(*.txt),該檔案即被開啟,這是因為作業系統呼叫了這個可執行檔案開啟了這個文字檔案。

實際上,被執行的檔案是,而文字檔案只是的執行目標。

一個可執行檔案是怎麼來的

3樓:匿名使用者

從os層說起吧。

os都有載入程式的功能,一個可執行檔案(比如exe,com等)內部都是機器指令(cpu相關的)和資料,所以可執行檔案和os以及編譯器是密切相關的,不同的os下不同的編譯器產生的可執行檔案都不盡相同。不同的平臺上其格式大概有elf,pe,coff等。大致都是段的形式來表示。

而os的功能就是讀懂這些檔案然後完成從磁碟檔案到記憶體的對映工作,也就是適當的時候把檔案的內容搬到記憶體適當的位置;

os載入的過程就是程序建立的過程,程序建立完畢後,會找到入口函式去執行;

進入入口函式後就等於進入了執行庫,因為入口函式就是執行庫的一部分;

入口函式開始初始化執行程式和程式的執行環境,比如堆的初始化,i/o初始化,執行緒的準備,全域性變數等的初始化;

下一步就進入程式的主體,也就是呼叫main函式部分。

main函式執行結束後又回到入口函式,此時入口函式要進行一些清理工作。

清理完成後執行一個系統呼叫來kill掉程序。

ok,一個可執行檔案的整個執行週期就結束了。

對於c語言,執行庫叫crt(c runtime),linux下的crt為glibc,它的程式入口函式為_start,是由組合語言實現的,包含在這個目標庫檔案裡。在windows下crt為msvc crt,它的入口函式是maincrtstartup。

對於每個程式,連結過程都會給你的可執行程式加進一些執行庫目標檔案,這樣才保證你的程式是一個獨立的可執行體。正式這些額外的**把你的main函式呼叫起來的。

一般在連結程式的時候須指定入口函式名。

4樓:富數研究

ide編譯打包之後生成的。

可執行程式的檔案格式

5樓:奉冷

dos可執行檔案。

最簡單的可執行檔案格式,可以在dos和windows中執行。它通過在檔案頭新增ascii字串「mz」(16進位制中表示為4d5a)來標識。「mz」是ms-dos開發者之一的馬克·茨柏克沃斯基(mark zbikowski)的姓名首字母縮寫。

16位元新可執行檔案。

通過在檔案頭新增ascii字串「ne」來標識。它只能執行在windows和os/2系統,而不能在dos下執行。

16/32位元可執行檔案。

通過在檔案頭新增ascii字串「le」來標識。它僅用來在windows 和windows 9x中替代vxd驅動。

32位元線性可執行檔案。

通過在檔案頭新增ascii字串「lx」來標識。執行在os/2 以及更高版本中,也可用於某些dos擴充套件。

32位元可執行檔案。

這是最複雜也是目前最流行的可執行檔案格式,通過在檔案頭新增ascii字串「pe」來標識。它主要執行於windows 95和windows nt以及更高版本的windows中,也可在beos r3中執行。

64位元可執行檔案。

與前一種類似,但使用支援64位元的**處理器。因此它僅能在64位元的windows系統中執行,譬如windows xp 64-bit edition 和 windows server 2003 64-bit edition。

什麼是可執行檔案

6樓:豆文心拱恩

(executable

file)可移植可執行。

pe)檔案格式的檔案,它可以載入到記憶體中,並由作業系統載入程式執行。它可以是。

exe或。dll

檔案。com、bat也都是可執行檔案!

如記事本程式。

這類程式通常用來處理或者輔助處理其它檔案。比如:雙擊開啟由記事本程式來進行。

我們做一件事,可以把順序以及具體做什麼事寫在檔案中,那執行它就可以把要做的事件執行了。

可以理解為:這類檔案可以「單獨執行」,或者理解為「有生命」的檔案!

如果把它用日常通俗的一點的例子來形容:衣服,鞋子等都是普通的檔案,那人就是可執行檔案!

人可以做衣服穿衣服,衣服卻要依靠人來做。布也要由人一加工成衣服!

關於c程式可執行檔案的問題

你把程式寫好執行除錯沒有任何問題後 直接把你的程式下的 bin debug 下的所有檔案複製在一個資料夾下面。無論在什麼地方直接執行裡面的.exe 注意 一個是vs 模式的需要安裝vs可以刪除。另一個是可以直接執行的 這樣你就不需要安裝。把那個整個資料夾拷貝到那在那執行。當然需要相應的.netfra...

電腦的一個資料夾裡的exe可執行檔案都訪問不了

你的這個現象我也見過,具體什麼原因怎麼解決還不清楚,總之先試試這個方法,這是一般解決exe檔案關聯錯誤後的補救措施,只要不是系統檔案有問題,這個方法一般都有效!把 改為 然後開啟登錄檔。exe關聯如下。hkey classes root exefile shell open command 預設的鍵...

linux裡的可執行檔案,linux下用什麼命令來執行可執行檔案

linux的檔案一般沒有副檔名這一說法。linux的檔案只分為文字檔案,可執行檔案,還有幾種特殊檔案。可執行檔案只需設定可執行標記就可以了,而且可執行檔案一般都是沒有副檔名的。比如linux裡的emacs,vi,gedit,firefox,gcc,gdb都是沒有副檔名的,檔名就是這樣的。文字檔案,圖...