<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      DLL導出一個c++類,接口方法

      Mature Approach(用抽象c++接口)

      接口類:

      MatureApproach.h

      #pragma  once
      
      #ifdef MATUREAPPROACH_EXPORTS
      #define MATUREAPPROACH_API __declspec(dllexport)
      #else
      #define MATUREAPPROACH_API __declspec(dllimport)
      #endif
      
      class IExport 
      {
      public:
          virtual void Hi() = 0;
          virtual void Test() = 0; 
          virtual void Release() = 0;
      };
      
      
      extern "C" MATUREAPPROACH_API IExport* _stdcall CreateExportObj();
      extern "C" MATUREAPPROACH_API void _stdcall DestroyExportObj(IExport* pExport);

      MatureApproach.cpp

      // MatureApproach.cpp : Defines the entry point for the DLL application.
      //
      
      #include "stdafx.h"
      #include "MatureApproach.h"
      #include "ExportClassImpl.h"
      
      
      #ifdef _MANAGED
      #pragma managed(push, off)
      #endif
      
      BOOL APIENTRY DllMain( HMODULE hModule,
                             DWORD  ul_reason_for_call,
                             LPVOID lpReserved
                           )
      {
          switch (ul_reason_for_call)
          {
          case DLL_PROCESS_ATTACH:
          case DLL_THREAD_ATTACH:
          case DLL_THREAD_DETACH:
          case DLL_PROCESS_DETACH:
              break;
          }
          return TRUE;
      }
      
      #ifdef _MANAGED
      #pragma managed(pop)
      #endif
      
      MATUREAPPROACH_API IExport* APIENTRY CreateExportObj()
      {
          return new ExportImpl;
      }
      
      //這里不能直接delete pExport,因為沒有把IExport的析構函數定義為虛函數
      MATUREAPPROACH_API void  APIENTRY DestroyExportObj(IExport* pExport)
      {
          pExport->Release();
      }

      實現類:

      #pragma once
      
      #include "MatureApproach.h"
      
      class ExportImpl : public IExport
      {
      public:
          virtual void Hi();
          virtual void Test();
          virtual void Release();
          ~ExportImpl();
      private:
      };

      cpp略

       

      配置要點:

       

       

       

       

       最后導出MatureApproach.h,MatureApproach.dll,MatureApproach.lib

      調用:

      配置

      包含MatureApproach.h目錄

       

       添加MatureApproach.lib目錄

       

       指定MatureApproach.lib

       

       代碼調用:

      #include "MatureApproach.h"
      
      //#pragma comment(lib, "../debug/MatureApproach.lib")
      
      int _tmain(int argc, _TCHAR* argv[])
      {
          IExport* pExport = CreateExportObj();
          pExport->Hi();
          pExport->Test();
          DestroyExportObj(pExport);
          system("pause");
          return 0;
      }

       

      參考:

      (40條消息) 【C++筆記 】如何從DLL中導出一個c++類_muyijames的博客-CSDN博客_c++ dll導出類

      C++ DLL導出類 知識大全 - DoubleLi - 博客園 (cnblogs.com)

      posted @ 2022-05-12 08:22  HelloBaker  閱讀(535)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 97亚洲熟妇自偷自拍另类图片| 国产精品一二三中文字幕| 亚洲色欲色欲www| 亚洲色av天天天天天天| 国产精品国产精品偷麻豆| 一个人看的www免费高清视频| 衣服被扒开强摸双乳18禁网站| 国产日韩AV免费无码一区二区三区| 亚洲人成网站在小说| 亚洲最大的熟女水蜜桃AV网站| 国产丰满老熟女重口对白| 69精品丰满人妻无码视频a片| 亚洲综合一区无码精品| 国产成人欧美日本在线观看 | 少妇大叫太大太爽受不了| 色www永久免费视频| 中文字幕国产精品综合| 国产一区二区三区免费观看| 亚洲一本二区偷拍精品| 亚洲狠狠婷婷综合久久久| 国产高清在线不卡一区| 一区二区亚洲精品国产精华液| 国产欧美在线手机视频| 亚洲中文字幕一二区日韩| 年轻女教师hd中字3| 免费AV片在线观看网址| 国产精品亚洲一区二区z| 亚洲αⅴ无码乱码在线观看性色| 瑞丽市| 国产美女在线精品免费观看| 亚洲精品一区二区天堂| 日韩国产欧美精品在线| 国内精品久久久久影院日本| 国产高清精品在线一区二区| 国产亚洲第一精品| 亚洲成av人片无码天堂下载 | 亚洲国产激情一区二区三区| 日本东京热不卡一区二区| 午夜一区欧美二区高清三区| 亚洲日韩精品无码一区二区三区 | 日韩av一区二区三区在线|