Visual Studio 2010, выходящий после программы, заканчивается

Я испытываю Visual Studio 2010 путем компиляции программы C. После того, как это отобразит решение в командном окне "DOS", окно сразу закрывается. В Visual Studio 2008 каждый добирается, сообщение нажимают любую клавишу для продолжения, и нажатие ключа закрывает окно командной строки. Как я устанавливаю это поведение в 2010?

9
задан bytebuster 20 October 2012 в 01:10
поделиться

5 ответов

Немного погуглив, я нашел это решение, которое не требует изменения вашего кода. Оно содержит обходной путь, который предполагает изменение файла .vcxproj.

Чтобы сделать это из Microsoft Visual C++ 2010 Express (я предполагаю, что это аналогично для Visual Studio 2010), откройте свой проект и перейдите к следующему меню:

Project->$YOURPROJECTNAME Properties...
    ->Configuration Properties
        ->Linker
            ->System->SubSystem

Затем используйте выпадающий список, чтобы выбрать Console (/SUBSYSTEM:CONSOLE) и примените изменения.

"Start without debugging" теперь должен работать правильно.

18
ответ дан 4 December 2019 в 08:00
поделиться

FWIW, команда «Начать без отладки» работает в VS2010 точно так же, как и в предыдущих версиях Visual Studio (то есть для консольного проекта консоль остается открытой, когда процесс завершается нажатием любой клавиши. для продолжения ... "подсказка).

Итак, как именно вы заставляете VS2010 запускать вашу программу? Если вы используете сочетание клавиш «Ctrl-F5», можете ли вы убедиться, что Ctrl-F5 привязан к Debug.StartWithoutDebugging в «Параметры / Среда / Клавиатура»?

Также можно попробовать запустить ваша программа с помощью меню («Отладка / Запуск без отладки»)?

1
ответ дан 4 December 2019 в 08:00
поделиться

Если вы запустите приложение без отладчика («Запуск без отладки»), окно консоли будет оставаться открытым, пока вы не нажмете клавишу.

0
ответ дан 4 December 2019 в 08:00
поделиться

Вы можете добавить эту функцию и вызвать ее прямо перед возвратом из main ():

void keep_window_open()
{
    // clear buffer
    fflush(stdin);
    printf("Please enter a character to exit\n");
    char ch;
    ch = getchar();
    return;
}

Я адаптировал его из версии C ++ в заголовочном файле утилиты на сайте Бьярна Страуструпа: http://www.stroustrup.com/Programming/std_lib_facilities.h

0
ответ дан 4 December 2019 в 08:00
поделиться

Это нормально. Окно консоли "DOS" прикреплено к вашей программе и должно закрываться, когда ваша программа завершается. Если вы хотите, чтобы он оставался открытым, вам нужно добавить в свою программу код, чтобы он оставался открытым. Все, что вам нужно сделать, это добавить оператор печати, а затем оператор ввода в конец вашей программы.

2
ответ дан 4 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: