zoukankan      html  css  js  c++  java
  • 实现一个简单的DLL动态链接库提供调用

    在书上看到将c++类打包成DLL提供调用,自己也写了个很简单的程序。(VC++6.0的集成开发平台)

     
    实现一个DLL动态链接库,先创建一个“Win32 Dynamic-Link Library”工程,工程名为“MathDLL”。选择创建一个“空”的工程。
     
    编写头文件:SimpleMath.h 代码如下:
    #ifndef _SimpleMath_Include
    #define _SimpleMath_Include
     
    class SimpleMath
    {
        public:
            int _declspec(dllexport) Add(int a, int b);
            int _declspec(dllexport) Reduce(int a, int b);
    };
     
    #endif
     
    在编写如下的SimpleMath.cpp文件:
    #include "SimpleMath.h"
     
    int SimpleMath::Add(int a, int b)
    {
        return a+b;
    }
     
    int SimpleMath::Reduce(int a, int b)
    {
        return a-b;
    }
     
    执行“Build”构建菜单,将在MathDLL\Debug目录下生成MathDLL.lib和MathDLL.dll两个文件。
    现在在创建一个控制台程序来调用MathDLL.dll中两个类成员函数(Add 、Reduce)。
     
    创建一个“Win32 Console Application”工程,工程名为“TestDLL”,选择创建一个“空”工程。
    #include <stdio.h>
    #include "..\MathClass\SimpleMath.h"
     
    void main()
    {
    SimpleMath *result = new SimpleMath();
    printf("10+20的值为:%d\n",result->Add(10,20));
    printf("30-10的值为:%d\n",result->Reduce(30,10));
    }
     
    注意:要调用MathDLL.dll动态链接库,还要执行“工程->设置”在“连接”中输入MathDLL.lib文件的路径:..\MathDLL\Debug\MathDLL.lib。
     
    在这里我运行的时候显示计算机丢失MathDLL.dll文件,原因是因为找不到“MathDLL.dll动态库文件“。只需把刚刚生成的MathDLL.lib文件拷贝到当前应用程序目录中就可以了。
  • 相关阅读:
    7-3色彩平衡
    Flex 布局
    JS获取当前周
    虚树学习笔记
    当然,perl等脚本服务器是一般默认安装了,你入侵了一台主机,总不能先装配 Java 环境然后再开干吧?
    还有这种书,程序开发心理学(豆瓣)
    Codeforces Round #143 (Div. 2)
    Codeforces Round #142 (Div. 2)
    Codeforces Round #141 (Div. 2)
    2018-2019-1 20189221 书籍速读 第 1 周
  • 原文地址:https://www.cnblogs.com/0YHT0/p/2474439.html
Copyright © 2011-2022 走看看