静态链接库与动态链接库

静态链接库lib,在生成可执行文件时,被全部嵌入到exe中,其显式调用:#pragma comment(lib,"XXX.lib")

目标工程编译链接之前需要将lib文件和头文件拷贝到工程目录中。运行时不需要lib文件。

动态链接库是在程序运行过程中,动态加载dll文件中的函数来执行。因此dll文件需要与exe文件同时发布,exe才能运行。

dll模块实例源码:

头文件 add.h

extern "C" _declspec(dllexport)int add(int,int);


源文件add.cpp

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


调用dl模块实例源码:

#include <iostream>
#include <Windows.h>
typedef int(*pFun)(int,int);
using namespace std;
int main()
{
	HINSTANCE hDll;
	hDll = LoadLibrary("dll_test.dll");
	pFun p=(pFun)GetProcAddress(hDll,"add");
	cout<<p(1,2)<<endl;
	system("pause");
	return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值