繁体   English   中英

Windows上的c ++中的wxWidgets

[英]wxWidgets in c++ on windows

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

  class WXDLLIMPEXP_CORE wxCommandEvent : public wxEvent, public wxEventBasicPayloadMixin

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

谢谢

如果我们看一下它的定义,我们就看到了

#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,则它会将该类标记为已导入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM