关于生成的Debug程序打开后马上闪退
“Printf.exe”(Win32):已加载“E:\VS2013\project\Printf\Second\Debug\Printf.exe”。已加载符号。“Printf.exe”(Win32):已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
“Printf.exe”(Win32):已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。
“Printf.exe”(Win32):已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
“Printf.exe”(Win32):已加载“C:\Windows\SysWOW64\msvcr120d.dll”。无法查找或打开 PDB 文件。
线程 0x534c 已退出,返回值为 0 (0x0)。
线程 0x4ea0 已退出,返回值为 0 (0x0)。
程序“ Printf.exe”已退出,返回值为 0 (0x0)。
报了这些代码 本帖最后由 jackz007 于 2022-7-29 11:19 编辑
你在 main() 函数的最后添加两个语句:
fflush(stdin) ;
getchar() ;
然后重新编译、运行试试看 jackz007 发表于 2022-7-29 11:17
你在 main() 函数的最后添加两个语句:
然后重新编译、运行试试看
[外部代码]
[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
jackz007 发表于 2022-7-29 11:17
你在 main() 函数的最后添加两个语句:
然后重新编译、运行试试看
但是可以打开了,但是我想把这个问题根治了 Resistor 发表于 2022-7-29 11:48
但是可以打开了,但是我想把这个问题根治了
根治,你想怎么治?因为你写的代码叫 Windows Console 程序,也就是控制台程序,需要依托 CMD 窗口来和用户交互,可是,通过运行程序产生的 CMD 窗口在程序结束后还有理由继续存在吗?所以,你看到了黑色窗口一闪就没了。
如果想根治,唯一出路就是开发带 Windows 图形界面的 GUI 程序。 jackz007 发表于 2022-7-29 12:07
根治,你想怎么治?因为你写的代码叫 Windows Console 程序,也就是控制台程序,需要依托 CMD 窗 ...
好的好的,谢谢,这两天才开始学,所以就太想的理所当然了 生成出的程序立刻闪退不是bug,而是console程序运行的标准逻辑
有2种解决办法:
1.
开头追加
#include<windows.h>
在main函数中return 0;前
追加
system("pause");
2.在main函数中return 0;前
追加 getchar();
页:
[1]