VC++创建和调用dll

本文详细介绍了如何使用VC++6.0创建和调用动态链接库(DLL)。首先,通过创建Win32 Dynamic-Link Library工程,并添加.cpp及.h文件来建立DLL,接着在.h和.cpp文件中编写必要代码并成功编译生成dllTest.dll。然后,通过创建一个Win32控制台应用程序,采用显式调用方式,在Test.cpp文件中引入相关代码,将dll文件放入调试目录下,实现对dll的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在工程应用中,动态链接库(dll)的重要性和灵活性是不言而喻的,这里将介绍一种最基本的创建和调用dll的方法,下面是使用VC++6.0的实现过程:
1. 创建dll
这里写图片描述
如上图所示,选择Win32 Dynamic-Link Library,创建名为dllTest的空工程;在该工程项下分别添加.cpp和.h文件(其名称分别为dllTest.cpp和dllTest.h),在.h项下添加代码:

extern "C" _declspec(dllexport) void Test(int a,int b);   

在.cpp项下添加代码:

#include "dllTest.h"
#include<iostream>
using namespace std;
int add(int a,int b)
{
   int C;
   C=a+b;
   return C;
}
extern "C" _declspec(dllexport) int Test(int a,int b)
{
    int C=add(a,b);
    cout<<"C="<<C<<endl;
    return 0;
}

编译源文件后,如果没有问题,即在dllTest文件夹中的debug项下生成dllTest.dll文件。至此,dll文件创建结束。注意:在dll创建过程中如果有子函数、类等,即可将其放在这里的主体函数外进行声明,同时需要加上必要的头文件。
2. 调用dll
调用dll的方式有多种,这里介绍一种比较简单的方式——显式调用,具体步骤如下:
(1)先新建一个win32控制台应用程序,命名为Test,如下图所示:
这里写图片描述

(2)添加.cpp文件(命名为Test.cpp),并在其中添加如下代码:

#include <iostream>
#include<windows.h>
#include<string>
using namespace std;
int main()
{
    int a,b;
    cout<<"请输入一个整数a=";
    cin>>a;
    cout<<endl;
    cout<<"请输入一个整数b=";
    cin>>b;
    cout<<endl;
    typedef int(*pTest)(int a,int b);//函数指针
    pTest Test=NULL;
    HINSTANCE hDLL;
    hDLL=LoadLibrary("dllTest.dll");//加载动态链接库dllTest.dll文件;
    Test=(pTest)GetProcAddress(hDLL,"Test");
    if (Test)//如果取出函数成功,则执行下面的语句
    {
        int C=Test(a,b);
        cout<<"OK!"<<endl;
    }
    FreeLibrary(hDLL);//卸载dllTest.dll文件;
    return 0;
}

(3)将之前声生成的dllTest.dll文件复制到Test的debug项下后,即可运行(2)中程序对该dll进行显式调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值