链接库就是一个软件模块,它通常是一个向应用程序提供某一个功能的函数和类的集合。
链接库分为静态链接库和动态链接库。
下面分别创建两个实例说明。
静态链接库:
创建一个mySll的头文件添加如下代码:
#ifndef MYSLL_H
#define MYSLL_H
extern "C"
{
int Fact(int n);
}
#endif
再添加一个mySll的.cpp文件
#include"mySll.h"
int Fact(int n)
{
int a=1;
int i;
for(i=1;i<=n;i++)
{
a=a*i;
}
return a;
}
执行build mySll.lib命令后,系统会生成这个lib文件。
下面建立一个test测试一下(需要将前面的头文件和lib文件拷到当前文件目录下)
#include<iostream>
#include"mySll.h"
using namespace std;
int main()
{
int f;
f=Fact(10);
cout<<f<<endl;
return 0;
}
动态链接库:
1:先添加模块定义文件(.def)
LIBRARY "dll"
EXPORTS showhello
2:添加.cpp文件
#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
int showhello()
{
MessageBox(NULL,"hello",",",MB_YESNO);
return true;
}
3:生成dll文件
4:建立一个测试程序
需要在project|settngs,link选项卡额object/library modules编辑框中添加之前的.lib文件。且将前面设计的dll的导入文件添加到当前工程下。
最后将.dll和.lib添加到当前工程下。