移動端C語言編譯器不能運行
A. c語言里程序編譯無誤但運行會彈出程序已停止運行是為什麼
造成程序停止運行彈框出錯的可能原因如下:
內存溢出
內存溢出(out of memory)通俗理解就是內存不夠,程序所需要的內存遠遠超出了主機內安裝的內存所承受大小,就叫內存溢出。系統會提示內存溢出,有時候會自動關閉軟體,重啟電腦或者軟體後釋放掉一部分內存又可以正常運行該軟體
造成內存溢出的原因可能有:
1>棧區溢出,例如在main函數內開辟的數組空間過大,一般機器的棧區限制在8MB左右,如果開辟的數組大小超過限制,程序就會崩潰。通常的解決方法是申請堆內存,即將較大的數組作為全局變數開在main函數之外。
2>錯誤地址訪問,常見的非法訪問包括指針漂移,數組越界等,初學者也經常出現類似scanf函數沒加區地址符號&的情況導致在讀取變數的時候因非法訪問造成的溢出。
3>數據類型不符,問題和第二個類似,例如在聲明變數時聲明為int在輸出變數時卻用了%lld,就會造成因數據類型不符而導致的溢出。
編譯器錯誤
部分編譯器由於所使用的標准不同(例如在一台機器上使用的可能是C99標准,而另一台機器上使用的是C11標准),或是因為編譯器鏈接庫的損壞,在少數情況下也可能導致程序出現不限於崩潰退出的異常錯誤,通常解決方法是到編譯器官方網站下載最新版的IDE安裝。
B. 為什麼C語言程序編譯正確但不能執行
這當然原因非常多,比如:編譯器編譯不夠嚴格、程序有很大的風險等等,最簡單的一個例子如下:
inta;
scanf("%d",a);
可以確定的一點是:一旦在運行中出現錯誤,大多是較為嚴重的錯誤,須引起重視,否則,一旦錯誤非常嚴重,必會導致許多嚴重的後果,如死機、卡屏甚至直接導致藍屏。
C. c語言程序exe如何在手機運行
Android設備上的應用程序大都是用Java語言編寫的,但有時我們需要用C語言進行一些底層的開發,但我們一般的PC機CPU都是Intelx86架構,而大多數移動設備CPU都是ARM架構,因此在linux上編譯運行的可執行程序是不能直接在Android手機上運行的,但是我們可以在PC機上交叉編譯出能在ARM平台下運行的程序。
1.安裝交叉編譯工具
首先,我們需要在Linux下安裝 arm-none-linux-gnueabi-gcc交叉編譯工具鏈下載地址(找了好久~_~)
不多說了,放到usr/local/bin目錄下,解壓文件包,解壓後得到一個arm-2009q1文件夾,然後把arm-2009q1下的bin目錄配進環境變數
如果在終端下執行arm-none-linux-gnueabi-gcc -v可以成功的話,就說明配置成功了,如圖
D. c語言編譯器用不了怎麼辦
設置的問題
options->Directories
把路徑改為你tc放的地方
如你把tc的文件夾放在c盤,該為如圖所示:
E. 運行c語言程序,無論使用什麼編譯器都顯示無法打開源文件是什麼原因
步皮爛驟1、明確自己項目中解決方案的配置和平台(具體根據自己的項目設置);在解決方案中選中自己的項目,右鍵彈出選項框後選擇屬性,進行設置。
步驟2、設洞咐置配置和平台這兩個選項,比如你的電腦是64位的就選x64,否則選Win32;選擇【C/C++】-【常規】-【附加包含目錄】-【編輯】納握純,把自己的文件路徑附加進去;
無法打開源文件
步驟3、【連接器】-【常規】-【附加庫目錄】-【編輯】,把自己的.dll庫文件路徑附加進去;
無法打開源文件
步驟4、【連接器】-【輸入】-【附加依賴項】-【編輯】,把自己的庫文件附加進去;
無法打開源文件
以上就是無法打開源文件的具體介紹和操作方法了,希望可以幫助到你哦。
F. c語言編程的程序為什麼無法運行,一直提示源文件未編譯
你是不是粘貼了網頁上的代碼,那個可能有很多符號的。還有保證在英文狀態下輸入啊。未編譯是肯定的啊,你都有語法錯誤啊。