編譯沒有錯誤是怎麼回事
A. 在使用VC時為什麼編譯時沒有錯誤,連接時有錯誤,不能打開文件
我們通常所說的編譯其實包含兩個部分:編譯和鏈接。
編譯是指把程序源文件編譯成目標文件,即vc下的.o文件。
鏈接是指把目標文件生成可執行文件。
鏈接的時候,如果某個函數只有聲明,但沒有實現,或者依賴第三方庫,但只提供了頭文件,沒有提供庫文件,或者庫文件的版本不對,都會導致鏈接錯誤,而這些錯誤,在編譯階段通常是不會報錯的。所以,你可以針對上面提到的幾點一一排除一下:
1,程序中所用到的自己寫的函數是否都已經實現;
2,如果使用了第三方庫,確認是否已經有了第三方庫,是否在工程設置中包含了庫文件,並且配置了庫文件搜索路徑,保證編譯器能找到所需要的庫文件;
3,如果使用了第三方庫,確認所使用的庫文件版本是對的。
如果上面這些都做好,基本上就不會有問題了。
B. 在編譯C 程序時,沒有出現error 或warning .,但是最後運行程序時,結果卻與預期的相差的
程序的錯誤有:
1,編譯錯誤,這是由於程序的語法等由編譯器可以檢查出來的淺顯錯誤;
2,鏈接錯誤,當多個文件時如果編寫錯誤會出現此類錯誤;
3,以上均正確,程序卻並不是你想要的結果,那就是程序的邏輯錯誤了,需要用心去檢查。
C. 程序編譯過了,但是無法運行出結果是怎麼回事
編譯過了沒錯誤,說明你的代碼語法沒錯誤。運行結果不對,是你的代碼邏輯有問題,仔細檢查代碼邏輯流程是不是不對,調試調試。
D. 編譯程序時出現沒有錯誤但有警告的原因
沒法錯誤是因為編譯器沒有檢查出語法錯誤,有警告是因為有些可能寫的不太規范,有時也是不標准,比如你定義一個變數,但是在程序中沒有使用它,編譯程序時就會警告「定義了沒有使用的變數」,如果你用fopen打開文件,編譯是就會提示「fopen是一個不安全的函數」等等。但是警告一般不會影響程序的正確性。