DLL动态链接库的是如何建立的(1)

来源:互联网 发布:mac可用的魔兽世界插件 编辑:程序博客网 时间:2024/06/05 07:58

本博客主要讲解
1.如何用def模块定义文件导出函数。
2.动态导入动态链接库
3.通过例子的形式讲解。

  • 建立一个DLL工程
    (1)win32项目
    (2)DLL
    (3)空项目
    (4)名称为Dll1
  • 资源文件中添加
    (1).cpp文件 Dll1.cpp
    (2).def文件 Dll1.def
    (3)编辑Dll1.cpp文件如下
int add(int a,int b){ return a+ b;}int subtract(int a,int b){     return a - b}
 (4)编辑Dll1.def文件如下
LIBRARY Dll2EXPORTSadd subtract
  (5)生成Dll1.dll
  • 新建一个测试DLL的项目
    (1)win32控制台应用程序 TestDll
    (2)把Dll1.dl放到这个项目文件夹中
    (3)得到结果 如下图
#include <iostream>#include <windows.h>using namespace std;int main(){    HINSTANCE hInst;    hInst = LoadLibrary(("Dll4.dll"));    typedef int(*ADDPROC)(int a, int b);    ADDPROC Add = (ADDPROC)GetProcAddress(hInst, "add");    if (!Add)    {        cout << "it is ok!\n";        return -1;    }    cout <<"add(5,3) = "<< Add(5, 3) << endl;    system("pause");    return 0;}

运行结果

0 0
原创粉丝点击