Eclipse C ++ - вывод в окно DOS - PullRequest
0 голосов
/ 20 января 2010

Я использую Eclipse с C ++.Когда я запускаю программу, я получаю следующее сообщение в окне консоли: **** Сборка конфигурации Отладка для проекта Диски Отвращение **** **** Внутренний построитель используется для сборки **** Ничего не собирается для сборкиДиски Отвращение

Я вносил изменения в программу и запускаю ее снова, и на этот раз я получаю следующее сообщение: **** Сборка конфигурации Отладка для проекта Диски Отвращение **** **** Внутренний Builderиспользуется для сборки **** g ++ -oDisksRepulsion.exe DisksRepulsion.o -lopengl32 -lglu32 -lglut32 C: \ MinGW \ bin .. \ lib \ gcc \ mingw32 \ 3.4.5 ........ \ mingw32 \bin \ ld.exe: не удается открыть выходной файл. DisksRepulsion.exe: разрешение отклонено. collect2: ld вернул 1 состояние завершения. Произошла ошибка сборки, сборка остановлена. Время: 103 мс.

Когда я впервые запустил программу, она запустила мою программу (я вижу, что она работает в моем диспетчере задач Windows), но вывод на консоль отсутствует.После внесения изменений в мою программу она все еще работает в фоновом режиме, поэтому я получаю сообщение об ошибке «Отказано в доступе» при попытке запустить программу.Я могу устранить ошибку, завершив экземпляры через диспетчер задач.Однако, когда я запускаю программу, я все еще не вижу никакого вывода, отправляемого на консоль.Вчера я смог увидеть вывод в своей консоли, но не знаю, почему я не вижу его сегодня.Кроме того, когда я увидел свой вывод, фокус курсора не изменился с кода на консоль.Мне не нравится делать это вручную.

Мне также не нравится, когда я делаю изменения в своей программе и запускаю ее снова, чтобы программа автоматически не прекращала свою работу.

Я использовал VC ++ и предпочитаю окно Dos для вывода.Итак, я хотел бы знать, есть ли в Eclipse возможность отправлять вывод в командную строку Windows, поскольку я знаю, что экземпляр .exe действительно исчезает, когда я закрываю программу.Он автоматически получает фокус курсора.Я также смогу получить некоторые выходные данные.

Я установил MinGW с MaSYS или чем-то еще, чтобы скомпилировать программу.

Ответы [ 3 ]

1 голос
/ 20 января 2010

Похоже, что ваше приложение не завершается само по себе, и вы не создали никакого интерфейса, который позволил бы вам убить программу.Это звучит как ошибка в вашем коде, а не как проблема Eclipse.Если нажатие Ctrl + C в консоли не приведет к уничтожению вашей программы, изучите кодирование, которое позволит вам убить ваше приложение нажатием клавиши или последовательностью ввода.

Если вы хотите запустить приложение в командеconsole, затем откройте обычную командную консоль, перейдите в папку, содержащую ваш проект, и запустите скомпилированный исполняемый файл из консоли, а не через интерфейс Eclipse.

0 голосов
/ 20 января 2010

Точка входа вашей программы main () или WinMain ()?Также может быть параметр настройки / ссылки для «подсистемы», консоли или Windows, я думаю, они называются в Visual Studio.

В любом случае, если ваша программа запускается через WinMain, вы ожидаете, что выБудет какая-то форма Windows, с помощью которой пользователь сможет управлять программой.Если вы используете main (), то ваша программа должна автоматически инициировать открытие окна консоли.

Посмотрите AllocConsole () на MSDN (или Google), если вы намеренно используете WinMain () и хотите консольокно, чтобы также открыть.Через поиск в Google также можно найти некоторую хитрость, которая может подключить стандартный вывод к этой консоли, но в настоящее время я не помню, что это такое.(Вы в основном перенаправляете дескриптор stdout на новую консоль.)

Удачи.

0 голосов
/ 20 января 2010

Простое решение, которое я использовал уже давно, - это открыть командную строку самостоятельно и запустить исполняемый файл вручную. Преимущество этого метода в том, что вы можете установить размер окна «DOS» на любой, какой захотите. (Прямо сейчас я использую окно размером 120x50 с 8192 строками буфера прокрутки.) Еще одно - вы никогда не потеряете вывод консоли; на самом деле вы сможете увидеть результаты прошлых запусков. (8192 строки - МНОГО, если вы не отлаживаете printf-цикл.)

Альтернативой завершению вашей программы с панели задач является использование красных значков в верхнем правом углу окна Eclipse «Console».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...