UPDATE:Во время запуска программы завершался с кодом 0xc0000139
Это оказалось проблемой компилятор (я использую MinGW) так обходной путь переходит на другой компилятор (в данном случае Cygwin).
The (оригинальный) вопрос
Я студент начинает изучать 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, я считаю, что эта проблема связана с отсутствующих библиотек DLL. Как я могу узнать, какие DLL (я) отсутствует, и есть ли способ убедиться, что у меня есть все DLL?
Есть некоторые моменты, которые я хотел бы упомянуть:
• Я признал, что это может быть дубликатом для Why are all my C++ programs exiting with 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++, поэтому, пожалуйста, простите меня, если есть какая-то глупая ошибка, также это означает, что я очень предпочитаю простой ответ/решение, если возможно. Но у меня не будет проблем со сложным ответом, сопровождаемым правильным объяснением.
Thanks
_ «Если бы я попытался CIN целого числа, например, он отлично работает:» _ я запутался , Очевидно, что программа работает достаточно долго, чтобы ждать ввода (потому что, когда вы вводите '7', вы получаете' 7' назад, и все в порядке). Итак, где ваш вход в первом примере? Это не могут быть одни и те же программы. –
«MinGW» включает в себя ** огромное ** разнообразие версий и конфигураций. Пожалуйста, будьте конкретны в отношении вашей инструментальной цепочки. –
@LightnessRacesinOrbit Я отредактировал мой вопрос с дополнительной информацией: • Первого примера программы возбужденной, прежде чем я могу ввести что-нибудь • Я взял скриншот моего установщика MinGW, который, мы надеюсь, включает в себя номер версии и такие Спасибо –