A. c語言編譯 提示No such file or directory
由這個錯誤報的路徑F:CWMP r069TR-069_Server_vAlpha_D-LinkTR-069_Server_vAlpha_D-LinkACS_Server/includestart-stop.h可以知道程序頭文件包含出現了問題了。
因為頭文件根本就不存在,所以會出現這樣的錯誤。
要想解決這個問題,需要查看你到底有沒有這個文件。在有的情況下,那就是頭文件的包含路徑出現錯誤,在沒有的情況下,那就是確實沒有這個頭文件。
(1)c語言編譯器怎麼打不開擴展閱讀:
在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件和定義文件組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明,而定義文件用於保存程序的實現。
當要包含的頭文件不存在時,系統會給出錯誤:No such file or directory。頭文件一般不會報其他類型的錯誤。
參考資料來源:網路-頭文件
B. C語言里程序編譯無誤但運行會彈出程序已停止運行是為什麼
造成程序停止運行彈框出錯的可能原因如下:
內存溢出
內存溢出(out of memory)通俗理解就是內存不夠,程序所需要的內存遠遠超出了主機內安裝的內存所承受大小,就叫內存溢出。系統會提示內存溢出,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分內存又可以正常運行該軟體
造成內存溢出的原因可能有:
1>棧區溢出,例如在main函數內開辟的數組空間過大,一般機器的棧區限制在8MB左右,如果開辟的數組大小超過限制,程序就會崩潰。通常的解決方法是申請堆內存,即將較大的數組作為全局變數開在main函數之外。
2>錯誤地址訪問,常見的非法訪問包括指針漂移,數組越界等,初學者也經常出現類似scanf函數沒加區地址符號&的情況導致在讀取變數的時候因非法訪問造成的溢出。
3>數據類型不符,問題和第二個類似,例如在聲明變數時聲明為int在輸出變數時卻用了%lld,就會造成因數據類型不符而導致的溢出。
編譯器錯誤
部分編譯器由於所使用的標准不同(例如在一台機器上使用的可能是C99標准,而另一台機器上使用的是C11標准),或是因為編譯器鏈接庫的損壞,在少數情況下也可能導致程序出現不限於崩潰退出的異常錯誤,通常解決方法是到編譯器官方網站下載最新版的IDE安裝。
C. 在編譯C語言時,為什麼無法打開包含文件' GRAPHICS.H '
1、graphics.h是win-tc自帶的函數庫——用來圖形開發,其他編譯器可能不包含這個函數庫,特別是VC(裡面是比較正統的C函數庫),肯定沒有。如果一定要用VC或者你的編譯器編譯——那麼應該把win-tc裡面的graphic.h的函數庫弄到當前編譯器文件夾下。
2、graphics.h是TC下的,也就是Turbo C,而且要在純DOS下才能運行,要在Windows 下面的話,這個是肯定用不了的。如果要編寫圖形化,用graphics 以後,程序的可移植性會變差,也就意味著只能在純DOS下才能運行這個的程序,在Windows 或Linux /Unix 下是無法編譯通過的,建議不要用。