一、静态链接库
1.静态链接库的生成方法
在vc下建立一个新项目,项目类型选择win32 static library,然后在项目中加入.h.cpp.c文件,编译链接后就会生成一个静态链接库.lib文件。
如果想要取得尽量好的与平台无关性,则在.h文件头加入extern "C",强制编译器以C方法编译.cpp的文件,生成的文件名不会像.cpp那样给函数加上一堆附加信息。这样其他的编译器也可能识别他。但是这种方法只适合没有用到C++重载等特性时才可以使用。
2.静态链接库的使用
把以上生成的.lib和.h文件加入到工程中去,在project选项中选择setting,然后在link中添加*.lib,表示链接时用到他,在项目文件中加入#include "*.h"即可使用这个静态链接库
二、动态链接库
1.动态链接库的生成方法
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)在vc下建立一个新项目,项目类型选择win32 dynamic link library,然后在项目中添加.h.cpp.c文件,编译链接后就会生成.dll文件。
也可以在resource files文件夹下生成一个.def文件,文件内容如下:
LIBRARY *.dll
EXPORTS
dll中的函数名
这个def文件在编译后会生成.lib文件,他是用于解析dll中函数用的。
2.动态链接库的使用方法一
把.lib、.dll、.h三个文件都放到工程中去,在工程文件中加入#include "*.h"文件,选择project的setting选项,然后在link中加入.lib文件,即可使用该库。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)3.动态链接库的使用方法二
把.dll、.h三个文件都放到工程中去,在工程文件中加入#include windows.h,做一个函数指针和一个handle,函数指针指向你要用的,handle类型为HMODULE,如示:
typedef void (*PFN)();
HMODULE hdll = ::LoadLibrary("mydll.dll");
PFN pfn = (PFN)::GetProcAddress(hdll,"helloword");
(*pfn)();
::FreeLibrary(hdll); 这种方法不用在setting的link中加入lib。