導航:首頁 > 源碼編譯 > c語言編譯錯誤

c語言編譯錯誤

發布時間:2022-01-14 09:43:50

㈠ 如何快速查找C語言編譯時的錯誤

1、首先,我們啟動編譯軟體程序,今天我們以VC++6.0為例。

注意事項:

編譯語言是一種以編譯器來實現的編程語言。它不像直譯語言一樣,由解釋器將代碼一句一句運行,而是以編譯器,先將代碼編譯為機器碼,再加以運行。理論上,任何編程語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程序的應用有關。

㈡ C語言:下面的代碼為什麼會出現編譯錯誤應當怎麼改正

錯誤出在a=sum;這一句——因為構成C語言程序的基本單位是函數而不是C語句,這里的a=sum;不在任何函數中,所以編譯器無法處理而出錯。把它放到主函數中的printf("%d ",a(3,5));之前就可以了。函數外只能進行全局變數定義或聲明,而不能進行其他操作,所以把int (*a)(int, int); a=sum;兩句改成int (*a)(int, int)=sum;,讓它成為聲明變數a並初始化為sum也是可以的。你可以試試。

代碼文本:

#include "stdio.h"

int sum(int a, int b);

int (*a)(int, int);

int main(int argc,char *argv[]){

a=sum;

printf("%d ",a(3,5));

return 0;

}

int sum(int a,int b){

return a+b;

}

㈢ c語言編譯錯誤

鏈接時出錯
找不到collegelnfro()等的實現文件,是否#include了它們的頭文件?

㈣ 為什麼c語言編譯總出錯

可能很多人在安裝VC 6.0後有過點擊「Compile」或者「Build」後被出現的
「Compiling... ,Error spawning cl.exe」錯誤提示給郁悶過。很多人的
選擇是重裝,實際上這個問題很多情況下是由於路徑設置的問題引起的,
「CL.exe」是VC使用真正的編譯器(編譯程序),其路徑在「VC根目錄\VC98\Bin」下面,
你可以到相應的路徑下找到這個應用程序。

因此問題可以按照以下方法解決:打開vc界面 點擊VC「TOOLS(工具)」—>「Option(選擇)」
—>「Directories(目錄)」重新設置「Excutable Fils、Include Files、
Library Files、Source Files」的路徑。很多情況可能就一個盤符的不同
(例如你的VC裝在C,但是這些路徑全部在D),改過來就OK了。

如果你是按照初始路徑安裝vc6.0的,路徑應為:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT

include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC

如果你裝在其他盤里,則仿照其路徑變通就行(我就是裝在D盤)。
關鍵是microsoft visual studio\ 後面的東西要相同。
希望能幫助到你。

㈤ c語言編譯時的錯誤!!!

相信有很多人在安裝了VC後,或者很好使用了VC一段時間後,突然當你再次點擊熟悉的「Build」或者「Compile」菜單的時候,發現在輸出窗口顯示了以下信息:Error spawning 'vcspawn.exe'. The build could not be performed。然後熟悉的VC就不聽你的使喚了!
如是大家就會打開熟悉的google,輸入錯誤信息,但是google這次一改常態,並不是返回一大堆的相關的無用的信息,返回只有為數不多的16項(中文)或者所有的78項目(中文+英文等)的資料信息(筆者撰寫本文是後測試結果)。然後你就查啊,找啊,但是好像結果並不是很樂觀,因為基本都是提出問題的文章,解決方案卻還是一籌莫展。

於是,想起了最後一招,重裝:刪除現有的,再忍受兩次重啟(一次卸載,一次安裝)和相當時間後,以為天下太平了,但是結果可能還是令你失望(至少筆者是沒有達到解決問題的效果),VC還是不聽話。

在郁悶、分析後,筆者解決了這個郁悶的問題,這里給出來供大家參考:為機器添加(或者修改)環境變數ComSpec(環境變數的添加方法我就不羅嗦了:)),設定其置為:c:\WINDOWS\system32\cmd.exe。然後重啟VC,萬事大吉了!

㈥ 關於C語言在編譯時常出現的錯誤有哪些

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。

尋找預編譯頭文件路徑時遇到了不該遇到的文件尾。(一般是沒有#include "stdafx.h")

2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory

不能打開包含文件「R…….h」:沒有這樣的文件或目錄。

3、error C2011: 'C……': 'class' type redefinition

類「C……」重定義。

4、error C2018: unknown character '0xa3'

不認識的字元'0xa3'。(一般是漢字或中文標點符號)

5、error C2057: expected constant expression

希望是常量表達式。(一般出現在switch語句的case分支中)

6、error C2065: 'IDD_MYDIALOG' : undeclared identifier

「IDD_MYDIALOG」:未聲明過的標識符。

7、error C2082: redefinition of formal parameter 'bReset'

函數參數「bReset」在函數體中重定義。

8、error C2143: syntax error: missing ':' before '{'

句法錯誤:「{」前缺少「;」。

9、error C2146: syntax error : missing ';' before identifier 'dc'

句法錯誤:在「dc」前丟了「;」。

10、error C2196: case value '69' already used

值69已經用過。(一般出現在switch語句的case分支中)

11、error C2509: 'OnTimer' : member function not declared in 'CHelloView'

成員函數「OnTimer」沒有在「CHelloView」中聲明。

12、error C2511: 'reset': overloaded member function 'void (int)' not found in 'B'

重載的函數「void reset(int)」在類「B」中找不到。

13、error C2555: 'B::f1': overriding virtual function differs from 'A::f1' only by return type or calling convention

類B對類A中同名函數f1的重載僅根據返回值或調用約定上的區別。

14、error C2660: 'SetTimer' : function does not take 2 parameters

「SetTimer」函數不傳遞2個參數。

15、warning C4035: 'f……': no return value

「f……」的return語句沒有返回值。

16、warning C4553: '= =' : operator has no effect; did you intend '='?

沒有效果的運算符「= =」;是否改為「=」?

17、warning C4700: local variable 'bReset' used without having been initialized

局部變數「bReset」沒有初始化就使用。

18、error C4716: 'CMyApp::InitInstance' : must return a value

「CMyApp::InitInstance」函數必須返回一個值。

19、LINK : fatal error LNK1168: cannot open Debug/P1.exe for writing

連接錯誤:不能打開P1.exe文件,以改寫內容。(一般是P1.Exe還在運行,未關閉)

20、error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)"

連接時發現沒有實現的外部符號(變數、函數等)。

function call missing argument list 調用函數的時候沒有給參數。

member function definition looks like a ctor, but name does not match enclosing class 成員函數聲明了但沒有使用

unexpected end of file while looking for precompiled header directive 在尋找預編譯頭文件時文件意外結束,編譯不正常終止可能造成這種情況

㈦ C語言編譯器提示錯誤

anf("%s",&tmp);
這個錯了tmp都沒有空間的 你怎麼用啊??

還有exit(0);這個是退出程序的 passwd執行問了程序就退出了

㈧ 新手在學習c語言並編譯程序時編譯錯誤怎麼辦

1、確定出錯的行號
如果是一個比較好的集成編譯環境的話,一般雙擊編譯錯誤,滑鼠都會自動跳轉到該行並高亮顯示。
沒有這個功能也沒關系,編譯錯誤裡面也都會有說明某某.c,某某行出的問題
1>e:\visual studio 2005\projects\airplane\airplane\airplane.cpp(52) : error C2065: 'abc' : undeclared identifier
這個就是說明在airplane.cpp的52行有錯誤

2、多個錯誤的話,一般只處理第一個錯誤
如果一次打出很多錯誤的話,不需要每一個都處理,只處理第一個編譯錯誤,然後再次編譯。大部分的時候,都是由於第一個錯誤產生了後續很多錯誤,第一個錯誤解決之後,其他錯誤也就迎刃而解。

3、對錯誤的更改
一般就是看錯誤的編號和後續的英文說明,如上面的錯誤,錯誤編號是C2065,錯誤的解釋是'abc' : undeclared identifier,未定義的標示符,將abc定義即可。
錯誤的種類很多,一般看英文就可以解決,如果解決不了的話,推薦根據錯誤編號上網搜索一下解決方法就OK拉。

㈨ c語言編譯哪出錯

這題足夠簡單了,1樓,他犯的全部是低級錯誤
1e-6寫成了le-6,一和L是不同的
imagpart=sqrt(-disc/(2*a);括弧差一邊
printf(%8.4f+%8.4fi\n",realpart,imagpart);引號差一邊

㈩ C語言編譯錯誤C1010該怎麼解決

在編譯VC++6.0是,出現fatal error C1010: unexpected end of file while looking for precompiled header directive
的錯誤.
解決方法:
1、如果發生錯誤的文件是由其他的C代碼文件添加進入當前工程而引起的,則Alt+F7進入當前工程的 Settings,選擇C/C++選項卡,從Category組合框中選中Precompiled Headers,選擇Not Using Precompiled headers。確定。
2、在文件開頭添加:
#include "stdafx.h"
對預編譯頭文件說明如下:

所謂頭文件預編譯,就是把一個工程(Project)中使用的一些MFC標准頭文件(如Windows.H、Afxwin.H)預先編譯,以後該工程編譯時,不再編譯這部分頭文件,僅僅使用預編譯的結果。這樣可以加快編譯速度,節省時間。

預編譯頭文件通過編譯stdafx.cpp生成,以工程名命名,由於預編譯的頭文件的後綴是「pch」,所以編譯結果文件是projectname.pch。

編譯器通過一個頭文件stdafx.h來使用預編譯頭文件。stdafx.h這個頭文件名是可以在project的編譯設置里指定的。編譯器認為,所有在指令#include "stdafx.h"前的代碼都是預編譯的,它跳過#include "stdafx. h"指令,使用projectname.pch編譯這條指令之後的所有代碼。

因此,所有的CPP實現文件第一條語句都是:#include "stdafx.h"。

閱讀全文

與c語言編譯錯誤相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26