动态链接库使用

Posted zhuh102

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态链接库使用相关的知识,希望对你有一定的参考价值。

// 动态链接库测试2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>


//隐式连接:这种连接方式是由编译器自己加载DLL文件的
/*#pragma comment(lib,"动态链接库2.lib")
extern "C" _declspec(dllimport) int Add(int x,int y);
extern "C" _declspec(dllimport) int Mul(int x,int y);
extern "C" _declspec(dllimport) int Div(int x,int y);
*/


//显示连接    自己加载DLL文件

typedef int(*pAdd)(int ,int);
typedef int(*pMul)(int ,int);
typedef int(*pDiv)(int ,int);



int main(int argc, char* argv[])
{    
    pAdd plus=NULL;
    pMul mul=NULL;
    pDiv div=NULL;
    HINSTANCE hInstance=LoadLibrary("动态链接库2.dll");
    plus=(pAdd)GetProcAddress(hInstance,"Add");//这里的函数名必须是Dll文件名中的函数名
    mul=(pMul)GetProcAddress(hInstance,"Mul");
    div=(pDiv)GetProcAddress(hInstance,"Div");

    int result=plus(4,5);
    printf("%d\n",result);
//第一步加载DLL

    /*int y=Add(100,400);
    printf("Hello World\n%d!\n",y);*/


    return 0;
}

以上是关于动态链接库使用的主要内容,如果未能解决你的问题,请参考以下文章

动态链接库

动态链接库和静态链接库的区别简述

动态链接库

动态链接库

动态链接库中能导出结构体吗

gcc 编译使用动态链接库和静态链接库