Задать вопрос
AlexXYZ
@AlexXYZ
O Keep Clear O

C++ std::cout не выводит ничего?

Полная программа не моя, я использую её как библиотеку shared .dll (если это важно). Проект в Visual Studio, в режиме сборки Debug вывод std::cout в этой библиотеке работает как положено, в консоль выводит текст. А в режиме сборки Release не выводит ничего, никакого текста. Помогите разобраться? Посмотрел настройки компилятора и линкера - не нашёл ничего особенного.

Дополнение: printf() работает норм.
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Разность в поведении между сборками может быть обусловлена двумя причинами:
1) в коде есть ifdef и часть функциональности просто отключена в релизной сборке. Довольно часто так намеренно отключают отладочный вывод.
2) В коде есть ошибка, какое-то undefined behavior и при оптимизации в релизной сборке часть кода вырезается компилятором.

Какой-то другой причины чтобы cout не работал в релизной сборке я не вижу.

printf вы наверное сами куда-то добавили. Если заменить в коде библиотеки отсутствующий cout на printf оно так же работает? Или у вас нет доступа к коду?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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