簡體   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