Общая библиотека выводится в стандартный вывод

Я пишу приложение на C ++, которое должно использовать стандартный вывод для вывода ответов (это демон CGI-BIN, вызываемый с веб-сервера Apache, и Apache получает стандартный вывод двоичного файла в качестве ответа).

Большая проблема в том, что я использую общую библиотеку, и она также выводит журналы в стандартный вывод, эти журналы направляются прямо к http-клиенту, что не позволяет ему анализировать фактические HTTP-ответы.

У меня вопрос, есть ли способ, как я могу подавить эти выходы из общей библиотеки?

PS: я запускаю его на Linux и использую библиотеки * .so

заранее спасибо

0

Решение

1) это плохая библиотека. Библиотеки не должны писать в стандартный вывод.

2) Вы можете обойти это, дублируя дескриптор файла stdout на дескриптор stderr и затем закрывая stdout. Похоже на неприятный хак.

0

Другие решения

Других решений пока нет …