【发布时间】:2010-11-17 05:49:44
【问题描述】:
我正在使用 C 编写一个跨平台共享库(Linux 中的 .so 和 Windows 中的 .dll)。当前当出现错误时,库函数会返回正确的错误代码并将错误信息写入 stderr .库函数还会向stdout 发送一些信息和调试消息。这适用于基于控制台的客户端。
现在这个库将拥有使用 C++ 和 wxWidgets 编程的 GUI 的客户端程序。我想知道处理错误并通知它的最佳做法是什么? UI 应用程序可以访问所有平台上的stdout 和stderr 的数据吗?
我在想的另一种方法是库初始化函数初始化一个具有函数指针的结构。库中的所有函数都将采用该结构的实例并调用函数指针。这样,客户端可以选择在哪里打印消息。
我想知道解决这个问题的明显方法是什么?任何帮助都会很棒。
【问题讨论】:
标签: c++ c error-handling shared-libraries