Dll 导出类 [示例代码]

1、Dll相关代码

MyDll.h

  1. #ifdef DLL1_API 
  2. #else 
  3. #define DLL1_API extern "C" __declspec(dllimport) 
  4. #endif 
  5. DLL1_API int Add(int a,int b); 
  6. DLL1_API int Sub(int a,int b); 
  7. class __declspec(dllexport) Person 
  8. public
  9.     Person(char *name); 
  10.     char*   m_Name; 
  11.     int     m_Age; 
  12. }; 

MyDll.cpp

  1. #define DLL1_API extern "C" __declspec(dllexport) 
  2. #include "MyDll.h" 
  3. #include <Windows.h> 
  4. #include <stdio.h> 
  5. #pragma comment(linker,"/DLL") 
  6. #pragma comment(linker,"/ENTRY:DllMain") 
  7. int Add(int a,int b) 
  8.     return a+b; 
  9. int Sub(int a,int b) 
  10.     return a-b; 
  11. Person::Person(char *name) 
  12.     m_Name = name; 

编译链接,如下图:

2、调用dll中类

Main.cpp

  1. #include <iostream.h> 
  2. #include <stdio.h> 
  3. #include <windows.h> 
  4. #include "MyDll.h" 
  5. #pragma comment(lib,"MyDll.lib") 
  6. void main() 
  7.     int x=3; 
  8.     int y=9; 
  9.     int z=Add(x,y); 
  10.     printf("%d+%d=%d /r/n", x,y,z); 
  11.      
  12.     Person pt("123"); 
  13.     cout<<pt.m_Name<<endl; 

编译链接,如下图:

from:

http://blog.csdn.net/wangningyu/article/details/5467550
原文地址:https://www.cnblogs.com/lidabo/p/2848718.html