启动过程中程序退出,代码为0xc0000139 [重复]

问题描述 投票:0回答:1

我是一名开始自学 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分开,程序还是一样)

我收到此错误: Entry point not found

经过 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 安装程序屏幕截图(希望)包含您需要的所有详细信息 MinGW Installer • 我正在使用

Atom

- 一个文本编辑器,带有一个用于编译和运行 C++ 代码的插件(称为“gpp-compiler”),因为我发现坚持使用一个文本编辑器而不是使用 IDE 会更舒服,但是 ,如果您认为我应该使用其他东西,请告诉我。 •我对编程并不陌生,但我对C++(非常)陌生,所以如果有任何愚蠢的错误,请原谅我,这也意味着我非常喜欢

如果可能的话,简单的答案/解决方案

。但对于附有适当解释的复杂答案,我不会有任何问题。 谢谢

c++ string crash mingw
1个回答
2
投票
MinGW

切换到 Cygwin 已经解决了该错误。 当配置错误、重要文件丢失或损坏时,会出现错误代码0xc0000139。因此切换到完全不同的编译器已经解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.