自己初学vc++写的简单的调用dll的例子

计算两个整数的和...................................................................................

(1)定义的dll头文件

工程名为dllCall

头文件名为lib.h

#ifndef LIB_H
#define LIB_H extern   "C"  __declspec(dllexport) int add(int x, int y)
#endif
(2)定义的dll源文件

源文件名为dllCall.cpp

#include "lib.h"
extern   "C"  __declspec(dllexport) int add(int x, int y)
{
 return x + y;
}

下边为调用dll的例子

工程名为dllTest

文件名为dllTest.cpp

#include <stdio.h>
#include <windows.h>
typedef int(*lpAddFun)(int, int); //宏定义函数指针类型
int main(int argc, char *argv[])s
{
 HINSTANCE hDll; //DLL句柄
 lpAddFun addFun; //函数指针
 hDll = LoadLibrary("D://dll//dllCall.dll"); //加载dll函数库给hdll实例句柄
 if (hDll != NULL){
  //printf("aaaaaaa/n");
  addFun = (lpAddFun)GetProcAddress(hDll, "add");//从hdll实例句柄中获得add函数的执行地址分为宏定义的函数指针
     if (addFun != NULL){
    //printf("/nbbbbbbb");
   int result = addFun(2, 3);//执行函数指针指向的函数地址
       //printf("/nccccccc");
   printf("%d/n", result); //打印结果并换行
  }
  FreeLibrary(hDll);//释放函数库实例句柄s
 }
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值