Я перевел -1073741819
в шестнадцатеричное число (с помощью калькулятора Windows):
-1073741819
= 0xC0000005
Есть таблица всех NTSTATUS Values на MSDN.Соответствующая строка:
0xC0000005 STATUS_ACCESS_VIOLATION
Инструкция в 0x% 08lx ссылается на память в 0x% 08lx.Память не может быть% s.
Похоже, что OP g++
каким-то образом поврежден, поскольку мне кажется, что make.exe
сообщает код выхода -1073741819 из g++
.
За 20 лет профессионального опыта у меня были редкие случаи, когда определенный неправильный код C ++ приводил к сбою моего компилятора (вместо того, чтобы просто сообщать об ошибке).Это больше не происходило годами.
Пример кода OP
#include <cstdlib>
#include <iostream>
using namespace std;
int name(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}
выглядит ИМХО слишком невинным, чтобы вызвать такую ошибку компилятора, как упоминалось выше.
Итак,Я согласен с советом Юнноша:
Попробуйте g++ --version
на консоли (например, cmd.exe
).а) Проверка g++
вообще работает.б) Посмотрите, не слишком ли устарела версия.
Вы также можете проверить, не случайно ли случайно смешаны параллельные установки инструментов с одинаковыми именами.Это может произойти, например, из-за наличия конфликтующих мест в переменной среды PATH
.