優化編譯器已停止工作
『壹』 VS2015調試C++,盡管代碼正確但編譯器就是會停止工作,這是為什麼
VS2015 win7 64位系統
我也遇到過這個問題,當時是代碼里有一個語法錯誤,有一個變數名我沒有注意被重定義了,按F7編譯就會出現這個問題。應該是VS的C++ 編譯器的一個bug。我把代碼錯誤修了之後就沒問題了。建議你在程序和功能裡面修復一下VS2015 或者直接改用 VS2017。
『貳』 為什麼運行它 ,編譯器直接停止工作了
printf("整數a:");scanf("%d",&a);
printf("整數b:");scanf("%d",&b);
printf("整數c:");scanf("%d",&c);
『叄』 如何防止因編譯器開啟優化,而導致程序執行錯誤
我的經驗是:未優化的c程序可正常運行,優化後不能運行,那一定是我的程序有問題。我還沒經歷過不是我程序的情況。
發現這種不易發現的問題,需要看匯編碼。
避免的方法,我的經驗:寫c程序,盡量規矩;似是而非的概念,一定要搞清楚,別僥幸。因為僥幸而留的雷,現在不出問題,將來一定會出問題;不優化不出問題,優化就出問題。
最後要說,每個應用程序,都讓他開優化運行,只要時間允許,一定要查出開優化後出問題的原因。時間不允許,只能不開優化湊合著,在有時間的時候繼續查問題。
『肆』 C語言編程的時候出現「程序已停止工作」的原因有哪些
最常見的原因:程序發生了空指針調用。
如果你剛入門,請檢查:
scanf("%d",&i); 有沒有加上「&」號,scanf必須在變數前加「&」(取地址符)。
如果沒有加&, scanf會把變數當作地址來用,而你的程序中又沒有以變數為地址的變數,操作系統不允許程序讀寫程序規定范圍以外的空間。出於安全起見,操作系統將其緊急中止。就發生了「***.exe已停止工作」的效果。
如果你正在學習數組,請檢查:
數組是否越界。定義為int a[10]的數組,如果寫a[10]=0; 相當於對a數組里的第11個元素賦值。事實上,a數組里並沒有第11個元素。如果該元素的位置指向一個程序以外的內存,操作系統同樣會果斷將其終止。
如果你正在學習指針,請檢查:
指針是否賦值;
在給指針賦值時,有沒有在非指針變數前加取地址符「&」;
int * p = &i; //正確!
int * p = i; //錯誤!
這與在sccanf里沒有加上「&」號的原因大致相同。
指針問題屬於程序邏輯錯誤,很多時侯編譯器只會給你一個警告。要注意警告發生的位置自己是否有把握。如果你多次編譯或忽視編譯警告而進行鏈接,編譯器會認為你對這些警告是有把握的,完全地信任了你,也就沒有警告了。
『伍』 Keil C/C++編譯器停止工作
看樣子,估計是keil軟體沒注冊或破解成功,按照option重新注冊一下,或者是卸載了,然後重裝並破解吧。
『陸』 C語言當打表過大時編譯器會不會停止工作
「打表過大"是什麼意思。
一般編譯器是不會停止工作,如果代碼中有編譯時就可以發現的錯誤,它會給予提示。
『柒』 mfc動態鏈接庫包含#include <Afxmt.h>出錯高手指導下
方法1.
只一次引用 #pragma once
方法2
#if !defined(__XXXXXXX_H)
#define __XXXXXXX_H
『捌』 一運行C語言程序 就提示程序已經停止工作
試試重新建立工程,編譯以下空代碼的程序:
intmain()
{
}
如果這個空代碼編譯運行不出問題,說明你的程序在調用scanf或者調用指針時候有內存上的錯誤出現。(仔細查看代碼中的scanf和指針調用時的內存使用錯誤,也可以把所有用到指針和scanf的地方先屏蔽,找出哪個地方內存分配不對)。
如果這個空代碼運行也出問題,說明是你編譯器有問題。
『玖』 很多易語言編譯出的軟體都出現已停止工作怎麼辦
系統問題,編譯器問題,下載新的編譯器,別用vc6,重新編譯一下
『拾』 codeblocks在運行時已經沒有編譯錯誤,但是運行不起來,老是停止工作,編譯器顯示如下
源文件.c-->通過編譯器生成.o(目標文件)-->+通過連接器,調用庫函數代碼+刪注釋+外部函數價碼--->生成可執行文件.exe;
從這個過程來講,compiler編譯器不知道,即缺失;手動添加就可以了。
如果編譯沒問題但是一運行就會自動彈出.exe已經停止工作也沒顯示代碼有錯誤之類我是用CodeBlocks運行的運行結果如下:
Compiling:F:C++11.cpp
Linkingconsoleexecutable:F:C++11.exe
Processterminatedwithstatus0(0minutes,0seconds)
0errors,0warnings
Checkingforexistence:F:C++11.exe
Executing:D:ProgramFilesCodeBlocks/cb_console_runner.exe"F:C++11.exe"(inF:C++1)
Processterminatedwithstatus-1073741819(0minutes,4seconds)