日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dll 导出类 [示例代码]

發(fā)布時間:2023/12/31 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dll 导出类 [示例代码] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、Dll相關代碼

MyDll.h

[cpp] view plaincopyprint?
  • #ifdef DLL1_API?
  • #else?
  • #define DLL1_API extern "C" __declspec(dllimport)?
  • #endif?
  • DLL1_API int Add(int a,int b);?
  • DLL1_API int Sub(int a,int b);?
  • class __declspec(dllexport) Person?
  • {?
  • public:?
  • ??? Person(char *name);?
  • ??? char*?? m_Name;?
  • ??? int???? m_Age;?
  • };?
  • #ifdef DLL1_API #else #define DLL1_API extern "C" __declspec(dllimport) #endif DLL1_API int Add(int a,int b); DLL1_API int Sub(int a,int b); class __declspec(dllexport) Person { public: Person(char *name); char* m_Name; int m_Age; };

    ?

    MyDll.cpp

    [cpp] view plaincopyprint?
  • #define DLL1_API extern "C" __declspec(dllexport)?
  • #include "MyDll.h"?
  • #include <Windows.h>?
  • #include <stdio.h>?
  • #pragma comment(linker,"/DLL")?
  • #pragma comment(linker,"/ENTRY:DllMain")?
  • int Add(int a,int b)?
  • {?
  • ??? return a+b;?
  • }?
  • int Sub(int a,int b)?
  • {?
  • ??? return a-b;?
  • }?
  • Person::Person(char *name)?
  • {?
  • ??? m_Name = name;?
  • }?
  • #define DLL1_API extern "C" __declspec(dllexport) #include "MyDll.h" #include <Windows.h> #include <stdio.h> #pragma comment(linker,"/DLL") #pragma comment(linker,"/ENTRY:DllMain") int Add(int a,int b) { return a+b; } int Sub(int a,int b) { return a-b; } Person::Person(char *name) { m_Name = name; }

    ?

    編譯鏈接,如下圖:

    2、調用dll中類

    Main.cpp

    [cpp] view plaincopyprint?
  • #include <iostream.h>?
  • #include <stdio.h>?
  • #include <windows.h>?
  • #include "MyDll.h"?
  • #pragma comment(lib,"MyDll.lib")?
  • void main()?
  • {?
  • ??? int x=3;?
  • ??? int y=9;?
  • ??? int z=Add(x,y);?
  • ??? printf("%d+%d=%d /r/n", x,y,z);?
  • ?????
  • ??? Person pt("123");?
  • ??? cout<<pt.m_Name<<endl;?
  • }?
  • #include <iostream.h> #include <stdio.h> #include <windows.h> #include "MyDll.h" #pragma comment(lib,"MyDll.lib") void main() { int x=3; int y=9; int z=Add(x,y); printf("%d+%d=%d /r/n", x,y,z); Person pt("123"); cout<<pt.m_Name<<endl; }

    ?

    編譯鏈接,如下圖:

    ?

    ?

    from:

    http://blog.csdn.net/wangningyu/article/details/5467550

    總結

    以上是生活随笔為你收集整理的Dll 导出类 [示例代码]的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。