青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評論

閱讀排行榜

評論排行榜

使用 AFX_EXT_CLASS 導出和導入 
擴展 DLL 使用 AFX_EXT_CLASS 宏導出類;鏈接到擴展 DLL 的可執行文件使用該宏導入類。用于生成擴展 DLL 的相同頭文件可通過 AFX_EXT_CLASS 宏與鏈接到 DLL 的可執行文件一起使用。
在 DLL 的頭文件中,將 AFX_EXT_CLASS 關鍵字添加到類的聲明中,如下所示:
class AFX_EXT_CLASS CMyClass : public CDocument
{
// <body of class>
};
當定義了預處理器符號 _AFXDLL 和 _AFXEXT 時,該宏被 MFC 定義為 __declspec(dllexport)。但當定義了 _AFXDLL 而未定義 _AFXEXT 時,該宏被定義為 __declspec(dllimport)。定義后,預處理器符號 _AFXDLL 指示共享 MFC 版本正在由目標可執行文件(DLL 或應用程序)使用。當 _AFXDLL 和 _AFXEXT 都定義了時,這指示目標可執行文件是擴展 DLL。
由于從擴展 DLL 導出時,AFX_EXT_CLASS 被定義為 __declspec(dllexport),因此可以導出整個類,而不必將該類的所有符號的修飾名放到 .def 文件中。此方法由 MFC 示例 DLLHUSK 使用。
雖然使用此方法可以避免創建 .def 文件和類的所有修飾名,但由于名稱可以按序號導出,因此創建 .def 文件的效率更高。若要使用 .def 文件導出方法,請將下列代碼放在頭文件的開頭和結尾處:
#undef AFX_DATA
#define AFX_DATA AFX_EXT_DATA
// <body of your header file>
#undef AFX_DATA
#define AFX_DATA
警告
導出內聯函數時要小心,因為它們有可能導致版本沖突。內聯函數擴展到應用程序代碼中;因此,如果以后重寫內聯函數,除非重新編譯應用程序本身,否則內聯函數不會被更新。通常,不用重新生成使用 DLL 函數的應用程序就可以更新 DLL 函數。
 
導出類中的個別成員
有時,您可能希望導出類中的個別成員。例如,如果導出 CDialog 派生類,可能只需要導出構造函數和 DoModal 調用。可以對需要導出的個別成員使用 AFX_EXT_CLASS。
例如:
class CExampleDialog : public CDialog
{
public:
   AFX_EXT_CLASS CExampleDialog();
   AFX_EXT_CLASS int DoModal();
   ...
   // rest of class definition
   ...
};
您不再導出類的所有成員,但由于 MFC 宏的工作方式,您可能會遇到其他問題。幾個 MFC 的 Helper 宏實際聲明或定義數據成員。因此,還必須從 DLL 導出這些數據成員。
例如,當生成擴展 DLL 時,DECLARE_DYNAMIC 宏的定義如下:
#define DECLARE_DYNAMIC(class_name) \
protected: \
   static CRuntimeClass* PASCAL _GetBaseClass(); \
public: \
   static AFX_DATA CRuntimeClass class##class_name; \
   virtual CRuntimeClass* GetRuntimeClass() const; \
以 static AFX_DATA 打頭的行聲明類的內部靜態對象。若要正確導出該類并從客戶端可執行文件訪問運行時信息,必須導出此靜態對象。由于靜態對象是用 AFX_DATA 修飾符聲明的,因此只需在生成 DLL 時將 AFX_DATA 定義為 __declspec(dllexport),并在生成客戶端可執行文件時將 AFX_DATA 定義為 __declspec(dllimport)。由于已經以此方式定義了 AFX_EXT_CLASS,因此只需參考類定義,將 AFX_DATA 重定義為與 AFX_EXT_CLASS 相同。
例如:
#undef  AFX_DATA
#define AFX_DATA AFX_EXT_CLASS
class CExampleView : public CView
{
   DECLARE_DYNAMIC()
   // ... class definition ...
};
#undef  AFX_DATA
#define AFX_DATA
MFC 總是在其宏的內部定義的數據項上使用 AFX_DATA 符號,因此此技術適用于所有這類情況。例如,它適用于 DECLARE_MESSAGE_MAP。


posted on 2010-06-17 13:29 會飛的兔子 閱讀(1658) 評論(0)  編輯 收藏 引用 所屬分類: C++庫,組件C++及開發環境
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区毛片| 欧美大片在线影院| 亚洲欧美日韩中文视频| 日韩一级片网址| 中文av字幕一区| 亚洲欧美另类国产| 久久精品官网| 亚洲国产精品一区二区久| 久久狠狠婷婷| 蘑菇福利视频一区播放| 欧美岛国在线观看| 欧美国产成人在线| 一区二区三区www| 亚洲欧美一区二区三区久久 | 欧美福利视频在线观看| 欧美国产日韩一区二区三区| 日韩一级成人av| 香蕉乱码成人久久天堂爱免费 | 久久爱www.| 男女视频一区二区| 国产精品久久久久三级| **网站欧美大片在线观看| 日韩视频免费看| 久久国产视频网站| 亚洲片区在线| 久久久久久电影| 欧美喷潮久久久xxxxx| 国产一级一区二区| 正在播放亚洲一区| 欧美gay视频激情| 亚洲欧美日韩综合国产aⅴ| 久久久最新网址| 国产精品久久久久久久第一福利| 狠狠色丁香久久综合频道 | 麻豆91精品| 亚洲一区二区三区成人在线视频精品 | 亚洲第一页中文字幕| 亚洲一区二区三区在线视频| 久久影院午夜论| 国产午夜亚洲精品羞羞网站 | 美女精品自拍一二三四| 日韩一级片网址| 亚洲尤物精选| 亚洲风情在线资源站| 亚洲欧美一区二区视频| 欧美日韩国产小视频| 国产综合网站| 欧美一区二区视频在线| 中日韩美女免费视频网站在线观看| 久久免费高清| 黄色成人在线免费| 久久久久国产精品厨房| 亚洲一区自拍| 国产精品夜夜嗨| 亚洲免费在线| 亚洲天堂成人| 国产精品人人爽人人做我的可爱| 一区二区三区色| 亚洲人成网站在线观看播放| 蜜臀av国产精品久久久久| 狠狠色香婷婷久久亚洲精品| 久久综合伊人77777蜜臀| 久久午夜精品一区二区| 亚洲激情影院| 99re6热只有精品免费观看 | 欧美视频一区二| 亚洲一区二区在线免费观看视频| 一本久久综合亚洲鲁鲁五月天| 亚洲日本va午夜在线影院| 国产精品99久久久久久久女警 | 亚洲欧美日韩区| 一区二区冒白浆视频| 国产精品一区在线观看| 亚洲日本中文字幕区| 国产精品男女猛烈高潮激情 | 午夜精品久久久99热福利| 久久精品国产99国产精品澳门| 一二三四社区欧美黄| 欧美国产日本在线| 99精品视频一区| 亚洲综合日本| 国产精品日韩欧美| 亚洲中字黄色| 亚洲欧美日韩国产精品| 国产精品福利在线观看网址| 夜夜嗨av色综合久久久综合网| 亚洲天堂免费观看| 一本大道久久a久久精二百| 欧美麻豆久久久久久中文| 亚洲一级二级| 国产精品porn| 欧美高清在线精品一区| 欧美精品性视频| 亚洲国产日日夜夜| 欧美丰满少妇xxxbbb| 亚洲主播在线播放| 欧美激情bt| 亚洲欧美在线免费| 亚洲精品久久久久久久久久久| 亚洲高清不卡在线观看| 国产一区二区在线观看免费| 亚洲日本激情| 国产香蕉97碰碰久久人人| 亚洲欧美三级伦理| 性欧美在线看片a免费观看| 免费美女久久99| 一区二区三区精品国产| 久久九九国产| 亚洲欧美一区二区三区久久| 亚洲第一级黄色片| 国产区亚洲区欧美区| 欧美日韩一区国产| 欧美国产免费| 欧美日韩国产精品一区二区亚洲| 欧美亚洲日本国产| 亚洲免费在线播放| 99视频+国产日韩欧美| 亚洲乱码国产乱码精品精98午夜| 欧美 日韩 国产 一区| 久久青草福利网站| 久久精品123| 久久深夜福利免费观看| 久久aⅴ国产欧美74aaa| 午夜精品亚洲| 欧美在现视频| 久色成人在线| 亚洲第一久久影院| 亚洲国产一区二区三区高清| 欧美成人激情在线| 最新国产成人在线观看| 91久久在线播放| 夜夜嗨av一区二区三区网站四季av| 亚洲精品美女在线观看| 中文亚洲欧美| 久久成人精品无人区| 美女国产一区| 国产精品青草久久| 亚洲高清久久网| 久久精品中文字幕一区| 猫咪成人在线观看| 国产免费成人在线视频| 亚洲精品一区在线| 久久婷婷麻豆| 亚洲一区二区三区激情| 美脚丝袜一区二区三区在线观看| 国产精品v欧美精品v日韩精品| 国产亚洲欧美aaaa| 久久福利影视| 亚洲午夜久久久| 欧美精品电影| 亚洲欧洲精品一区二区| 久久婷婷丁香| 性久久久久久久| 国产免费成人av| 久久精品亚洲热| 欧美影院精品一区| 国产日本欧洲亚洲| 久久久久成人网| 久久另类ts人妖一区二区| 国产一区香蕉久久| 麻豆成人综合网| 欧美成人亚洲成人日韩成人| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美在线观看你懂的| 国产精品国产福利国产秒拍| 在线观看日韩av先锋影音电影院| 久久亚洲精品一区| 欧美a级片网站| 亚洲精品一二三区| 这里只有精品视频在线| 国产日本欧美一区二区三区在线| 久久中文精品| 欧美国产日韩一二三区| 欧美日本国产视频| 亚洲欧美日韩在线| 夜夜嗨av色一区二区不卡| 欧美午夜久久久| 久久久久国产一区二区三区| 欧美大片在线观看一区| 国产精品成人一区二区网站软件 | 亚洲午夜小视频| 国产一区二区av| 亚洲另类一区二区| 亚洲高清123| 久久精品国产v日韩v亚洲| 亚洲人成人一区二区在线观看| 亚洲一区二区成人在线观看| 1024精品一区二区三区| 一本色道久久综合亚洲精品按摩| 国语自产精品视频在线看一大j8| 一本到高清视频免费精品| 亚洲电影免费在线| 久久aⅴ国产紧身牛仔裤| 中文精品视频| 欧美日韩在线观看一区二区| 91久久精品www人人做人人爽| 亚洲国产你懂的| 欧美激情精品久久久久久蜜臀| 欧美 日韩 国产精品免费观看| 在线不卡中文字幕|