c++ - Windows 上 C++ 中的 wxWidgets

标签 c++ multithreading wxwidgets

我正在阅读这个特定的代码片段:-

  class WXDLLIMPEXP_CORE wxCommandEvent : public wxEvent, public wxEventBasicPayloadMixin

这是在event.h头文件中定义的,我不明白“WXDLLIMPEXP_CORE”。

谢谢

最佳答案

如果我们看一下where it is defined我们看到了

#ifdef WXMAKINGDLL_CORE
#    define WXDLLIMPEXP_CORE WXEXPORT
#    define WXDLLIMPEXP_DATA_CORE(type) WXEXPORT type
#    if defined(HAVE_VISIBILITY)
#        define WXDLLIMPEXP_INLINE_CORE WXEXPORT
#    else
#        define WXDLLIMPEXP_INLINE_CORE
#    endif
#elif defined(WXUSINGDLL)
#    define WXDLLIMPEXP_CORE WXIMPORT
#    define WXDLLIMPEXP_DATA_CORE(type) WXIMPORT type
#    if defined(HAVE_VISIBILITY)
#        define WXDLLIMPEXP_INLINE_CORE WXIMPORT
#    else
#        define WXDLLIMPEXP_INLINE_CORE
#    endif
#else /* not making nor using DLL */
#    define WXDLLIMPEXP_CORE
#    define WXDLLIMPEXP_DATA_CORE(type) type
#    define WXDLLIMPEXP_INLINE_CORE
#endif

文件中其他地方的注释对正在发生的事情进行了很好的解释,但简短的总结是存在三种情况,我们正在制作 DLL、使用 DLL 或根本不使用 DLL。最后一种情况是最简单的,如果我们根本不使用 DLL,那么它们将被定义为空。如果我们正在制作 DLL,那么它会将类标记为已导出,如果我们正在使用 DLL,那么它会将类标记为已导入。

关于c++ - Windows 上 C++ 中的 wxWidgets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136360/

相关文章:

python - 迭代 wxPython 中的控件以保存 session 数据

c++ - 将 wxMouseEvent 传播到 wxWidget 中的基类

c++ - 正确打印字符数组地址的方法

c++ - 按值返回和多态性

c - 无法理解 pthread_join()

java - 执行者或线程防止程序关闭

python - wxPython 的 wx.ListCtrl 处于简单列表模式(不是 style = wx.LC_REPORT)

c++ - 无法在Linux上使用流打印文件

c++ - 在 Boost::Program_Options 中,如何设置 wstring 的默认值?

c++ - 链接基于 Qt 的应用程序时出错