• 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
  • 相关阅读:
    通过注册表设置指定用户启动项的权限
    音频知识学习
    回老家也不忘老本......
    探索DOMNode
    表单填写示例(通过JavaScript访问DOM)
    最近的一些感悟
    C#和Java中的Substring()
    验证ASP.NET页生命周期时间的触发顺序
    解析c语言背后的汇编代码
    oracle nvl()函数在使用中出现的问题
  • 原文地址:https://www.cnblogs.com/lidabo/p/2848718.html
Copyright © 2020-2023  润新知