Я понятия не имею об окнах, но я думаю, что есть что-то похожее.
у кросс-платформенную общую библиотеку (.so
в Linux и.dll
в Windows) с использованием C. В настоящее время при возникновении ошибки библиотечные функции возвращают правильный код ошибки и записывают информацию об ошибке вstderr
, Библиотечные функции также выдают некоторую информацию и отладочные сообщенияstdout
, Это хорошо работает для консольных клиентов.
Теперь в этой библиотеке будут клиентские программы, использующие графический интерфейс, запрограммированный на C ++ и wxWidgets. Мне интересно, каковы будут лучшие методы обработки ошибок и уведомления об этом? Может ли приложение пользовательского интерфейса получать доступ к данным, поступающим вstdout
а такжеstderr
на всех платформах?
Альтернативный способ, которым я думал, - это функция инициализации библиотеки, которая инициализирует структуру, которая будет иметь указатели на функции. Все функции в библиотеке возьмут экземпляр этой структуры и вызовут указатели на функции. Таким образом, клиент может выбрать, где печатать сообщения.
Мне интересно, что было бы очевидным способом решить эту проблему? Любая помощь будет отличной.