Отладчик Clion - это запущенная программа, а обычная консоль - нет. - PullRequest
0 голосов
/ 01 декабря 2018

Когда я компилирую и запускаю в Clion 2018.1.3, он работает нормально, но ничего не происходит.Ошибок тоже нет.Консоль открывается, показывает путь к проекту, позволяет мне печатать, но не показывает ни одного из моих операторов printf.Когда я запускаю его в отладчике, все появляется и работает нормально.Это не было так раньше.Я попытался вернуться отслеживания и не повезло.Вставка оператора printf в первую строку main также не печатает на консоли.

Я снова попытался переписать огромный кусок кода в другом проекте.Неудачно.Могу ли я получить некоторые идеи о том, почему происходит такое недопонимание?Это написано на c ++, но было переведено с c с использованием библиотек cstdio cstdlib.

1 Ответ

0 голосов
/ 01 декабря 2018

CLion фиксирует вывод вашей программы.Это означает, что вывод на стандартный вывод (используйте printf или аналогичный) не буферизуется в строке, как по умолчанию.Вместо этого он полностью буферизован.Если вы хотите, чтобы вывод происходил, вам нужно явно сбросить стандартный вывод.

Причина, по которой он работает с отладкой, может заключаться (я размышляю здесь), что сам CLion распознает символ новой строки и затем записывает вывод.Или что он изменяет стандартный вывод, чтобы быть небуферизованным.

...