现在的位置: 首页 > 综合 > 正文

静态链接库与动态链接库

2013年12月11日 ⁄ 综合 ⁄ 共 519字 ⁄ 字号 评论关闭

静态链接库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;
}

 

抱歉!评论已关闭.