當前位置:首頁 » 編程語言 » 自己寫的c語言exe執行不了
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

自己寫的c語言exe執行不了

發布時間: 2022-03-07 11:16:30

① 為什麼c語言無法運行程序

首先,檢查一下程序里有沒有中文字元。
其次,用#include"stdio.h"這種方式調用需要.h文件在當前路徑下。我個人認為改成#include<stdio.h>比較好。
再其次,沒有getch這個函數,只有getchar,建議你拿不準的時候網路。
語法的問題基本就是這些,說說語義,你的a沒復制直接printf沒有意義。
忘說了,還要在最後加上return 0;,雖然不加可能也沒什麼關系,編譯器可能會自己給你加,但是還是加上好。

② C語言,為什麼我建出來的項目生成的exe無法運行

沒有明顯語法錯誤,如果編譯通過(允許中間定義變數)應該是能正常運行,最好試試直接編譯器運行是不是正常。
另外你求的應該是將一串整型數字逆序排列。

③ C語言編程中寫好的程序不能執行,請問是什麼原因呢

ALT+R 運行
ALT+F5 查看結果

④ C語言程序為什麼不能運行


#include<stdio.h>

intmain(void){
inti,num=0;
i=1;

do{
num+=1;
i++;
}while(i<=100);

printf("%d ",num);
return0;
}

試試這個!

⑤ c語言exe怎麼不能運行............

是不是沒有找對啊!或者是你的exe程序沒有停留符一閃而過了!你加上這個頭文件#include);就行了;
,和這句話system("pause"

⑥ 為什麼我的C語言軟體不能執行程序了。如圖

你水果其他下載器嗎? DLL文件(Dynamic Linkable Library 即動態鏈接庫文件),是一種可執行文件,它允許程序共享執行特殊任務所必需的代碼和其他資源比較大的應用程序都由很多模塊組成,這些模塊分別完成相對獨立的功能,它們彼此協作來完成整個軟體系統的工作。可能存在一些模塊的功能較為通用,在構造其它軟體系統時仍會被使用。在構造軟體系統時,如果將所有模塊的源代碼都靜態編譯到整個應用程序 EXE 文件中,會產生一些問題:一個缺點是增加了應用程序的大小,它會佔用更多的磁碟空間,程序運行時也會消耗較大的內存空間,造成系統資源的浪費;另一個缺點是,在編寫大的 EXE 程序時,在每次修改重建時都必須調整編譯所有源代碼,增加了編譯過程的復雜性,也不利於階段性的單元測試。Windows 系統平台上提供了一種完全不同的較有效的編程和運行環境,你可以將獨立的程序模塊創建為較小的 DLL 文件,並可對它們單獨編譯和測試。在運行時,只有當 EXE 程序確實要調用這些 DLL 模塊的情況下,系統才會將它們裝載到內存空間中。這種方式不僅減少了 EXE 文件的大小和對內存空間的需求,而且使這些 DLL 模塊可以同時被多個應用程序使用。Windows 自己就將一些主要的系統功能以 DLL 模塊的形式實現。一般來說,DLL 是一種磁碟文件,以.dll、.DRV、.FON、.SYS 和許多以 .EXE 為擴展名的系統文件都可以是 DLL。它由全局數據、服務函數和資源組成,在運行時被系統載入到調用進程的虛擬空間中,成為調用進程的一部分。如果與其它 DLL 之間沒有沖突,該文件通常映射到進程虛擬空間的同一地址上。DLL 模塊中包含各種導出函數,用於向外界提供服務。DLL 可以有自己的數據段,但沒有自己的堆棧,使用與調用它的應用程序相同的堆棧模式;一個 DLL 在內存中只有一個實例;DLL 實現了代碼封裝性;DLL 的編制與具體的編程語言及編譯器無關。在 Win32 環境中,每個進程都復制了自己的讀/寫全局變數。如果想要與其它進程共享內存,必須使用內存映射文件或者聲明一個共享數據段。DLL 模塊需要的堆棧內存都是從運行進程的堆棧中分配出來的。Windows 在載入 DLL 模塊時將進程函數調用與 DLL 文件的導出函數相匹配。Windows 操作系統對 DLL 的操作僅僅是把 DLL 映射到需要它的進程的虛擬地址空間里去。DLL 函數中的代碼所創建的任何對象(包括變數)都歸調用它的線程或進程所有。調用方式:1、靜態調用方式:由編譯系統完成對 DLL 的載入和應用程序結束時 DLL 卸載的編碼(如還有其它程序使用該 DLL,則 Windows 對 DLL 的應用記錄減1,直到所有相關程序都結束對該 DLL 的使用時才釋放它,簡單實用,但不夠靈活,只能滿足一般要求。隱式的調用:需要把產生動態連接庫時產生的 .LIB 文件加入到應用程序的工程中,想使用 DLL 中的函數時,只須說明一下。隱式調用不需要調用 LoadLibrary() 和 FreeLibrary()。程序員在建立一個 DLL 文件時,鏈接程序會自動生成一個與之對應的 LIB 導入文件。該文件包含了每一個 DLL 導出函數的符號名和可選的標識號,但是並不含有實際的代碼。LIB 文件作為 DLL 的替代文件被編譯到應用程序項目中。當程序員通過靜態鏈接方式編譯生成應用程序時,應用程序中的調用函數與 LIB 文件中導出符號相匹配,這些符號或標識號進入到生成的 EXE 文件中。LIB 文件中也包含了對應的 DL L文件名(但不是完全的路徑名),鏈接程序將其存儲在 EXE 文件內部。當應用程序運行過程中需要載入 DLL 文件時,Windows 根據這些信息發現並載入 DLL,然後通過符號名或標識號實現對 DLL 函數的動態鏈接。所有被應用程序調用的 DLL 文件都會在應用程序 EXE 文件載入時被載入在到內存中。可執行程序鏈接到一個包含 DLL 輸出函數信息的輸入庫文件(.LIB文件)。操作系統在載入使用可執行程序時載入 DLL。可執行程序直接通過函數名調用 DLL 的輸出函數,調用方法和程序內部其 它的函數是一樣的。

⑦ 自己用C編寫的程序生成的exe文件在別的機子怎麼運行不了

其實一般在編程序時,都是生成了調試版的程序,就是在那個Debug目錄下的可執行文件。運行這調試版的exe文件,都會動態連接 MFC42D.DLL和MSVCRTD.DLL這兩個文件,所以你如果將這個文件在其它機器上運行而這台機器沒有這兩個文件或者缺少一個,系統則會出現: 「找不到所需.dll文件-某某.dll」這樣的提示。而一般系統都不帶有這兩個文件,除非是裝了vc等。解決方法很簡單:1,選擇菜單build->Set Active Configuration,然後選擇Release, 2,選擇菜單project->settings,在General選項卡里第一項選擇Use MFC in a static Library,即靜態連接其實這就是生成了發布版程序,在Release目錄下,可執行文件不會用到那兩個討厭的dll文件,一般到別的機器上都能用,試試吧!

OK,我照做了,寫了另一個程序,然後到處找人做實驗。結果是正確的。當對方機子上有VC時,我們用DEBUG和動態鏈接庫編的程序是可以用的;否則,就會提示出錯,只能用Release和靜態鏈接。因此,要做一個通用的程序,就必須用發布版。

⑧ 為什麼c語言編寫exe文件放在WINDOWS/system32文件不能運行

這個gff6.exe
100%是木馬病毒,建議趕快刪除!
金山、卡巴斯基都認為gff6.exe是木馬病毒。

⑨ c語言程序生成exe文件無法運行

一般來說,這是因為你在VC中build的方式為debug,這樣程序包含了一些debug信息,可以用於檢查錯誤,但不能在VC之外運行。build方式改成release就可以直接運行了。在VC界面上找找就能看到。
stream的話,發生錯誤行的內容是?
這樣是你傳了一個NULL參數給文件流,看來還是相對路徑問題。
如果用相對路徑,VC下的本地路徑在exe文件的上一級目錄,而exe文件單獨運行時就不行了,相對路徑的話換絕對路徑呢?

⑩ 編寫c語言代碼是無法執行程序是怎麼回事

C語言代碼本身是不能被執行的,必須要進行編譯後才能產生可執行文件。
C語言編譯的過程中會自動產生兩個文件,其文件後綴分別是.o和.exe。
.o是編譯文件,用於減小更改程序後再編譯時的時間。
.exe 是可執行文件,在Windows系統下,只有.exe才是可以執行的程序。
如果在編譯後沒有產生對應的.exe文件就代表程序代碼出現問題,未通過編譯。