基本的动态连接库的例子1

来源:互联网 发布:心蓝软件下载 编辑:程序博客网 时间:2024/05/16 18:50

建立一个Win32的动态连接库:

创建dll文件。

1。test2.h 中声明一下可调用的函数

#ifndef LIB_H
#define LIB_H
extern "C" int _declspec(dllexport)add(int x,int y);
#endif

2.test.2cpp中实现函数

#include "test2.h"
int add(int x,int y)
{
 return x+y;
}

 

调用工程的工程代码

#include <stdio.h>
#include <windows.h>
typedef int (*lpAddFun)(int,int);
int main()
{
 HINSTANCE hDll; //Dll句柄
 lpAddFun addFun; //函数指针
 hDll = LoadLibrary("D:\\gongzuo_test\\test2\\Debug\\test2.dll");//可以把Dll存在的全路径放过去,或是把Dll文件放到调用工程下,直接

// hDll = LoadLibrary("test2.dll");
 if (hDll != NULL)
 {
  addFun = (lpAddFun)GetProcAddress(hDll,"add");
  if (addFun != NULL)
  {
   int results = addFun(2,3);
   printf("%d\n",results);
  }
  FreeLibrary(hDll);
 }
 return 0;

}

注意函数调用函数是int _declspec(dllexport)声明一下的
原创粉丝点击