2011 главная() программа My C++ для DiGSE является:основной() программа не выйдет нормально
int main(int argc, char* argv[]) {
. . .
return EXIT_SUCCESS;
} // this } DOES match the opening { above
Он компилирует и выполняет правильно. Операция печати непосредственно перед возвратом выводится нормально. Однако появляется уведомление Windows 7.1 о том, что «DiGSE.exe перестает работать». Затем он любезно предлагает искать в Интернете решение.
Я попытался заменить возврат с возвратом 0; Выход (0); и ничего, поэтому выполнение выпадает на дно (что, как я понимаю, приемлемо). Однако во всех случаях я все еще получаю всплывающее окно.
Что мне нужно сделать, чтобы main() вышел изящно?
DiGSE - это всего лишь имя исполняемого файла Windows 7, составленного на MinGW 4.9.2. "Полная" программа уже урезанная:
int main(int argc, char* argv[]) {
try {
DiGSE::log_init(DiGSE::log_dest_T::console_dest, "dig.log", true,
DiGSE::log_lvl_T::trace_lvl);
}//try
catch (const std::exception& ex) {
std::cerr << FMSG("\n"
"Executing '%1%' raised this exception:\n"
" %2%", % DiGSE::Partition::productName()
% ex.what())
<< std::endl;
return EXIT_FAILURE;
}//exception
catch (...) {
std::cerr << FMSG("\n"
"Executing '%1%' instance raised an unknown exception.",
% DiGSE::Partition::productName())
<< std::endl;
return EXIT_FAILURE;
}//exception
L_INFO(FMSG("'%1% v%2%' terminated normally.",
% DiGSE::Partition::productName()
% DiGSE::Partition::productVersion()))
return EXIT_SUCCESS;
} // главная()
L_INFO() является регистрация вызова, который выводит, как это должно быть. Log_init() в верхней части инициализирует журнал. Комментирование log_init() и L_INFO() имеет тот же результат, что и исходный.
Программный сигнал SIGSEGV, ошибка сегментации. 0x000000006fc8da9d в libstdC++ - 6 _ZNSo6sentryC1ERSo() из D: \ Program Files \ MinGW-w64 \ x86_64-4.9.2-POSIX-SEH-rt_v3-rev0 \ mingw64 \ бин \ libstdC++ - 6.dll
Это то, что gdb возвращает, когда почта() выходит. Он делает это даже с комментариями log_init() и L_LNFO(). Таким образом, проблема, вероятно, связана с одним из глобалов того, с чем она связана.
просвещать меня ... что такое DiGSE? Это какая-то специальная операционная система или архитектура? Если это так, вам, возможно, придется прочитать об этом, чтобы узнать, какое значение ожидает операционная система. Если это действительно странно, возможно, оно отличается от 0 или макросом EXIT_SUCCESS –
Что находится в '...' части? – JustSid
@HenrikKjusAlstad S/he явно заявляет, что 'Windows 7.1' является ОС. – JustSid