導航:首頁 > 源碼編譯 > 編譯鏈接後的exe文件怎麼打開

編譯鏈接後的exe文件怎麼打開

發布時間:2022-09-12 09:21:15

1. 易語言靜態編譯 後 生成的EXE文件在自己的電腦里怎麼打不開

1.你的程序沒有窗口。
2。你設置的期待方式不對,易語言有2種啟動方式,一是用_啟動子程序啟動,而是用_啟動窗口啟動,你沒有選擇對。
3。你用的模塊是破解版的或者模塊有暗樁。總之是模塊有問題。

2. 我把用VC6.0編譯連接好的程序.exe文件直接發給別人,可在他那裡怎麼運行不了呢

肯定是動態鏈接庫依賴,
用dependency軟體依賴查詢一下,
找出以來的dll鏈接庫文件,
然後將他們考的對方電腦的C:/windows/system32文件夾下面
軟體應該就可以運行了

3. LINUX里怎樣運行exe文件

通常情況下,任何基於Windows的exe程序都不能在LINUX下運行,這是因為它們的內核是不同的。但是可以通過在Linux上安裝wine來運行exe程序。

Wine (「Wine Is Not an Emulator」 的首字母縮寫)是一個能夠在多種 POSIX-compliant 操作系統(諸如 Linux,macOS 及 BSD 等)上運行 Windows 應用的兼容層。Wine 不是像虛擬機或者模擬器一樣模仿內部的 Windows 邏輯,而是將 Windows API 調用翻譯成為動態的 POSIX 調用,免除了性能和其他一些行為的內存佔用,讓你能夠干凈地集合 Windows 應用到你的桌面。

安裝 WineHQ 安裝包(Ubuntu 18.04.2 64位系統為例)

如果您之前安裝過來自其他倉庫的 Wine 安裝包,請在嘗試安裝 WineHQ 安裝包之前刪除它及依賴它的所有安裝包(如:wine-mono、wine-gecko、winetricks),否則可能導致依賴沖突。

如果使用的是 64 位系統,請開啟 32 bit 架構支持(如果之前沒有開啟的話):

# sudo dpkg --add-architecture i386

注意事項:如非必要,一般不太建議在Linux上運行exe程序,可能會遇到各種各樣的的Bug。參考資料:

網頁鏈接

4. 如何打開EXE格式的電子書

EXE格式電子書,不需要安裝專門的閱讀器,下載後就可以直接打開。缺點是容易中毒損壞。

如果打不開,可以用電子書格式轉換器,把EXE格式轉換成TXT格式看。具體方法:

  1. 打開電子書格式轉換器,先選擇EXE源文件,將指定圖標拖到目標窗口上。

  2. 這樣可以讓軟體自動找到文件路徑、鏈接等信息。別忘了確認下「以文本方式保存」為勾選狀態的。

  3. 然後可以自定義「反編譯出來的文件存放到此文件夾」,即設置輸出路徑。

  4. 最後,點擊「開始」。很快,轉換完畢。彈出提示窗口「電子書反編譯完畢」。

  5. 打開自定義的保存目錄,可看到轉換出來的txt文件了。

5. 如何把在編譯器裡面編譯成功的程序不藉助編譯器在PC上執行

編譯了之後,在你的工程文件夾裡面有一個Debug或者Release文件夾,裡面就能找到你的程序編譯鏈接出來的exe文件,運行他就不需要藉助編譯器了 追問: (先說一下,我是C語言編寫的)嗯,說的對,的確是這樣,可是我發現了一個問題。我在編譯器裡面執行時,程序窗口能停在那裡,可是在DEBUG裡面找到EXE之後執行時那個黑色的窗口重視一閃而過,您有沒有辦法讓它像編譯器裡面執行時那樣讓那個窗口停住,萬分感激。 回答: 你可以在你的程序結尾處加上getchar();這樣就可以讓程序結束之後不是立即關閉窗口。另外,命令行界面的程序一般是假設你的dos窗口中執行的,也就是像其他dos命令一下,執行完之後就會自動退出的,如果你在dos窗口中找到你的程序並執行,那麼程序執行完之後就回到命令行提示符,這正是我們需要的結果。當然,正如前面我所說的,如果你確實需要等待用戶按鍵之後再結束,那麼就加上一個getchar()

6. 更改編譯後的EXE文件

下面的是運行程序的格式文檔,有興趣的就看一下。
一、PE文件格式的概要

1.1、DOS MZ Header:
所有 PE文件(甚至32位的 DLLs)必須以一個簡單的 DOS MZ Header 開始。有了它,一旦程序在DOS下執行,DOS就能識別出這是有效的執行體,然後運行緊隨 MZ Header 之後的 DOS Stub。

1.2、DOS Stub:
DOS Stub(存根)實際上是個有效的 MS-DOS .EXE 或者.COM 程序(如果文件格式不對會報錯),在不支持 PE文件格式的操作系統中,它將通過簡單調用中斷21h服務9來顯示字元串"This program cannot run in DOS mode"或者根據程序員自己的意圖實現完整的 DOS 代碼。它的大小一般不能確定。利用鏈接器(linker)的 /STUB:filename 選項可以替換這個程序。

1.3、PE Header:
緊接著 DOS Stub 的是 PE Header。PE Header 是PE相關結構 IMAGE_NT_HEADERS 的簡稱,其中包含了許多PE裝載器用到的重要域。執行體在支持PE文件結構的操作系統中執行時,PE裝載器將從 DOS MZ Header (IMAGE_DOS_HEADER)中找到 PE Header 的起始偏移量。因而跳過了DOS Stub 直接定位到真正的文件頭PE Header。

1.4、Section Table:
PE Header 接下來的數組結構 Section Table (節表)。如果PE文件里有5個節,那麼此 Section Table 結構數組內就有5個成員,每個成員包含對應節的屬性、文件偏移量、虛擬偏移量等。

1.5、Sections:
PE文件的真正內容被劃分成塊,稱之為Section(節)。每個標准節的名字均以圓點開頭。Sections 是以其起始位址來排列,而不是以其字母次序來排列。下面是常見的節名及作用:

節名 作用
.arch 最初的構建信息(Alpha Architecture Information)
.bss 未經初始化的數據
.CRT C運行期只讀數據
.data 已經初始化的數據
.debug 調試信息
.didata 延遲輸入文件名表
.edata 導出文件名表
.idata 導入文件名表
.pdata 異常信息(Exception Information)
.rdata 只讀的初始化數據
.reloc 重定位表信息
.rsrc 資源
.text .exe或.dll文件的可執行代碼
.tls 線程的本地存儲器
.xdata 異常處理表

節的劃分是基於各組數據的共同屬性,而不是邏輯概念。每節是一塊擁有共同屬性的數據,比如代碼/數據、讀/寫等。如果PE文件中的數據/代碼擁有相同屬性,它們就能被歸入同一節中。節名稱僅僅是個區別不同節的符號而已,類似"data", "code"的命名只為了便於識別,惟有節的屬性設置決定了節的特性和功能。

1.6、裝載一PE文件的主要步驟:

1.當PE文件被執行,PE裝載器檢查 DOS MZ Header 里的 PE Header 偏移量。如果找到,則跳轉到 PE Header。
2.PE裝載器檢查 PE Header 的有效性。如果有效,就跳轉到PE Header的尾部。
3.緊跟 PE Header 的是節表。PE裝載器讀取其中的節信息,並採用文件映射方法將這些節映射到內存,同時付上節表裡指定的節屬性。
4.PE文件映射入內存後,PE裝載器將處理PE文件中類似 Import Table(導入表)邏輯部分。

二、DOS MZ Header 和 PE Header

2.1、DOS MZ Header 定義成結構 IMAGE_DOS_HEADER(64位元組) 。結構定義如下:

typedef struct _IMAGE_DOS_HEADER { // DOS .EXE Header
WORD e_magic; // Magic number
WORD e_cblp; // Bytes on last page of file
WORD e_cp; // Pages in file
WORD e_crlc; // Relocations
WORD e_cparhdr; // Size of Header in paragraphs
WORD e_minalloc; // Minimum extra paragraphs needed
WORD e_maxalloc; // Maximum extra paragraphs needed
WORD e_ss; // Initial (relative) SS value
WORD e_sp; // Initial SP value
WORD e_csum; // Checksum
WORD e_ip; // Initial IP value
WORD e_cs; // Initial (relative) CS value
WORD e_lfarlc; // File address of relocation table
WORD e_ovno; // Overlay number
WORD e_res[4]; // Reserved words
WORD e_oemid; // OEM identifier (for e_oeminfo)
WORD e_oeminfo; // OEM information; e_oemid specific
WORD e_res2[10]; // Reserved words
LONG e_lfanew; // File address of new exe Header
} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;

7. 編寫的C語言文件程序 保存以後生成.obj 和.exe的可執行文件。。怎麼在其他電腦里讀出來啊

可以直接運行的,exe是可執行文件,不需要安裝c語言軟體(你的系統都是c語言編的)。
.C的文件直接用記事本打開編輯,這個你肯定知道。
.OBJ的就不知道了,這個一般不用看的。

8. 誰知道易語言靜態編譯 後 生成的EXE文件在自己的電腦里怎麼打不開

正在編譯現行程序正在檢查重復名稱...正在預處理現行程序正在進行名稱連接...正在統計需要編譯的子程序正在編譯...正在生成主程序入口代碼程序代碼編譯成功等待用戶輸入欲編譯到的文件名正在進行名稱連接...開始靜態鏈接...正在寫出可執行文件寫出可執行文件成功★★聲明:本軟體由雪風完美破解。僅用於學習交流,請勿用於商業用途!★★編譯出來的EXE文件雙擊打開時連個窗口都沒彈出來,不懂是哪出問題了

9. 用c++編完程序後怎麼導出成.exe的可執行文件

你用的編譯器是什麼?

如果是C-Free這類的可視化編譯器 都會有 編譯,運行 這樣的按鈕,點一下就可以了 非常方便
如果是非Windows平台,用的gcc,可以先用預處理命令
#gcc -E hello.c -o hello.i
將hello.c預處理輸出hello.i文件

編譯
# gcc –S hello.i –o hello.s
將預處理輸出文件hello.i匯編成hello.s文件

匯編
# gcc –c hello.s –o hello.o
將匯編輸出文件test.s編譯輸出test.o文件

最後鏈接,生成EXE文件
# gcc hello.o –o hello.exe

閱讀全文

與編譯鏈接後的exe文件怎麼打開相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:761
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:837
安卓怎麼下載60秒生存 瀏覽:796
外向式文件夾 瀏覽:228
dospdf 瀏覽:424
怎麼修改騰訊雲伺服器ip 瀏覽:380
pdftoeps 瀏覽:486
為什麼鴻蒙那麼像安卓 瀏覽:730
安卓手機怎麼拍自媒體視頻 瀏覽:180
單片機各個中斷的初始化 瀏覽:717
python怎麼集合元素 瀏覽:475
python逐條解讀 瀏覽:827
基於單片機的濕度控制 瀏覽:492
ios如何使用安卓的帳號 瀏覽:877
程序員公園采訪 瀏覽:805
程序員實戰教程要多長時間 瀏覽:968
企業數據加密技巧 瀏覽:129
租雲伺服器開發 瀏覽:807
程序員告白媽媽不同意 瀏覽:330
攻城掠地怎麼查看伺服器 瀏覽:595