Я пишу приложение на C ++, которое должно использовать стандартный вывод для вывода ответов (это демон CGI-BIN, вызываемый с веб-сервера Apache, и Apache получает стандартный вывод двоичного файла в качестве ответа).
Большая проблема в том, что я использую общую библиотеку, и она также выводит журналы в стандартный вывод, эти журналы направляются прямо к http-клиенту, что не позволяет ему анализировать фактические HTTP-ответы.
У меня вопрос, есть ли способ, как я могу подавить эти выходы из общей библиотеки?
PS: я запускаю его на Linux и использую библиотеки * .so
заранее спасибо
1) это плохая библиотека. Библиотеки не должны писать в стандартный вывод.
2) Вы можете обойти это, дублируя дескриптор файла stdout на дескриптор stderr и затем закрывая stdout. Похоже на неприятный хак.
Других решений пока нет …