VC6.0 创建与调用DLL 1

本文详细介绍了如何使用VC6.0创建并调用动态链接库(DLL),包括创建DLL项目、编写DLL函数代码、生成DLL文件以及在其他项目中调用DLL的方法。

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

原文地址:http://gauzeehom.iteye.com/blog/1031130

1.使用 VC6.0 生成 DLL

新建项目 “Win32 Dynamic-Link Library”,输入项目名称,确定后选择 “A simple DLL project” 点击“完成”。


以下为cpp文件自动生成的代码:

#include "stdafx.h"

BOOL APIENTRY DllMain( HANDLE hModule,

                      DWORD  ul_reason_for_call,

                      LPVOID lpReserved

)

{

   return TRUE;

}


编辑cpp文件:

在#include "stdafx.h"的下一行加入

extern "C" __declspec(dllexport) int fun(int a, int b);

/*

这是C格式导出函数;

这种写法一般用在C++写的DLL中,指按C的规则导出这个函数,否则导出的函数会很怪;
加上 extern "C" 表示按标准C格式导出函数.如果去掉仅兼容C++;

其中 int fun(int a, int b) 这部分代码是我们想用 dll 实现的函数原型声明

如果还想加入其他的可以继续加入 extern "C" __declspec(dllexport) int fun1(int a, int b);

*/


DllMain 是 DLL 的默认入口函数,类似于C语言的main函数,该例子无需修改此处,在 DllMain 的后面加入:

int fun(int a,int b)

{

   return a+b;

}


这就是我们想用 DLL 实现的函数的定义,build 之后就会在 debug 目录下生成我们想要的 dll 文件

2.调用 DLL

新建一个 Win32 Console Application 工程,把刚才生成的 dll 文件拷贝到工程的根目录下


在 stdafx.h 文件中加入:#include <windows.h>


编辑cpp文件:

#include "stdafx.h"

typedef int (*PFUN)(int,int);

void main()

{

HMODULE hModule = ::LoadLibrary("dlltest.dll");

PFUN newfun = (PFUN)::GetProcAddress(hModule,"fun");

int i = newfun(1,2);

printf("The result is %d\n",i);

::FreeLibrary(hModule);

}


然后,运行就可以看到结果了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值