我是一名开始自学 C++ 的学生,在尝试使用
string
时遇到了问题
这是我的测试代码(不起作用的代码)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string myString;
cin >> myString;
cout << myString;
return(0);
}
当我尝试运行它时,程序刚刚结束并退出在我可以输入任何内容之前,这是我尝试从
gdb
运行时的结果
(gdb) run
Starting program: C:\Users\DANIEL~1\AppData\Local\Temp\sandbox.exe
[New Thread 15036.0x31bc]
[New Thread 15036.0x2db4]
[New Thread 15036.0x2628]
[New Thread 15036.0x2280]
During startup program exited with code 0xc0000139.
(gdb)
当我尝试创建文件并从 cmd 运行它时
g++ sandbox_string.cpp -o sandbox_string
(我添加了_string与_int makefile分开,程序还是一样)
经过 Google 一番之后,我相信这个问题与 missing DLLs 有关。我如何知道我缺少哪些 dll?有没有办法确保我拥有每个 dll?
有几点我想提一下:
• 我承认这可能与为什么我所有的 C++ 程序都以 0xc0000139 退出? 重复,但这除了降级 GCC 之外没有提供任何解决方案。我尝试过,但没有成功。另外,在这个问题中,有人提到了“缺少 DLL”,但没有提供进一步的解决方案。 • 如果我尝试
cin
一个整数,例如:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int myString;
cin >> myString;
cout << myString;
return(0);
}
工作正常,我可以输入,程序会输出然后正常退出:
(gdb) run
Starting program: C:\Users\DANIEL~1\AppData\Local\Temp\sandbox.exe
[New Thread 9120.0x35ac]
[New Thread 9120.0x2c4c]
[New Thread 9120.0x390c]
[New Thread 9120.0x32c0]
7
7[Inferior 1 (process 9120) exited normally]
(gdb)
• 我的编译器是MinGW
,这是我的 MinGW 安装程序屏幕截图(希望)包含您需要的所有详细信息 • 我正在使用
Atom- 一个文本编辑器,带有一个用于编译和运行 C++ 代码的插件(称为“gpp-compiler”),因为我发现坚持使用一个文本编辑器而不是使用 IDE 会更舒服,但是 ,如果您认为我应该使用其他东西,请告诉我。 •我对编程并不陌生,但我对C++(非常)陌生,所以如果有任何愚蠢的错误,请原谅我,这也意味着我非常喜欢
如果可能的话,简单的答案/解决方案。但对于附有适当解释的复杂答案,我不会有任何问题。 谢谢
切换到 Cygwin 已经解决了该错误。 当配置错误、重要文件丢失或损坏时,会出现错误代码0xc0000139。因此切换到完全不同的编译器已经解决了问题。