萬年墳問題,當我再次看到這個問題之時,頓時有一種穿越的感覺,感覺到什么呢,嘿嘿,就是所有曾學到的東西都還給了老師,又 rebuild,,,變回1一個徹徹底底的菜逼,嘿嘿,,,
《《《解決問題的答案再貼一遍》》》》
點擊Debug運行之后出現
The program '[140] MyExecRefsDll.exe: Native' has exited with code 0 (0x0)
並且那個黑框一閃就沒有了
問題分析
出現這個提示,其實表示當前程序是完全正確的,它顯示了程序在加載調試時的調試信息。那個 has exited with code 0(0x0) 返回這個代碼0 表示程序是正常的運行和結束的。
如果出現那個黑框一閃而過,解放方案有兩個
1. 不直接點擊Debug 或 F5來運行, 而是用Ctrl + F5 來運行 【備注:這才是最簡單的方法,原理,看下面加粗的那句話,嘿嘿】
2. 是在程序的最后加上一句
System("pause");
或者
printf("Press any key to continue...\n");
_getch();
————————————————
版權聲明:本文為CSDN博主「小龍王2010」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiaolongwang2010/article/details/8496593
====================================================
(轉)因為我們老師要求我們要會用VC++6.0和VS中的C++編程,今天正常安裝好后,編寫一個正確的程序,可運行的時候,DOS窗口一晃而過,也算是正常編譯了,但我不懂的是它為什么消失得這么快?
會出現dos界面是因為你程序中可能用到了需要用dos顯示結果(或者輸入之類的)的函數,比如printf()函數,馬上消失是因為你執行程序是一步到位的,dos界面做完你需要它做的事情之后就被銷毀了,如果你想看清楚整個過程,可以設置斷點,單步執行下,看看程序的運行過程
在谷歌和百度上查了,有這些解答:
1)你運行的應該是控制台應用程序,需要在main代碼最后return 0之前添加一個暫停函數,該函數作用為從標准輸入獲取字符然后程序才會繼續運行,比較典型的為c程序中可以用getchar() ,getchar()包含在頭文件stdio.h中。也可以調用system("pause"); ,這是一個windows的cmd命令暫停,在控制台程序中體現為獲得任意鍵盤消息后程序繼續,被包含在c庫stdlib.h中。
2)其實還有一個更好的解決辦法:在你的項目條目(project)上右擊鼠標,在彈出菜單上選擇最后一項“property/屬性”,在左邊的一欄里找到“配置屬性->鏈接器->系統”,點擊“系統”項后,在右邊的欄的“子系統(subSystem)”將刻項的值配置為"Console(/SUBSYSTEM:CONSOLE)"。
經過這樣的配置后,再按 Ctrl+F5,程序運行完畢后就會停留在控制台界面,提示你“請按任意鍵繼續”。 到此,問題完美解決。
3)還可以通過設置斷點,逐步調試看運行結果。
4)改運行方式
新開cmd.exe窗口:
C:\> D: //切換盤符
D:\> cd mypath // 切換目錄
D:\mypath>my.exe //執行程序: