原地址:http://www.cnblogs.com/wolf-lifeng/p/3191299.html
动态链接库的创建流程如下图所示:
在系统设计阶段,主要的设计内容包括:类结构的设计以及功能类之间的关系,动态链接库的接口。在动态链接库中,包含两类函数:一类是内部函数,一类是外部函数。内部函数只能在动态链接库的内部使用,不能被动态链接库以外的模块调用;外部函数是该动态链接库的接口,可以被外部模块调用。
为了使外部函数能够被系统外的模块调用,在进行C++代码编写的时候,必须对外部函数执行导出。导出的级别有两种:函数级别的导出和类级别的导出。在函数级别的导出中,只将该函数导出;在类级别的导出中,将这个类所属的函数和数据导出。在进行导出的时候,使用关键字“_declspec(dllexport)”。
如果外部模块要调用动态链接库中的函数,那么必须对该函数执行导入。导入的级别有两种:函数级别的导入和类级别的导入。在函数级别的导入中,只能将该函数导入;在类级别的导入中,可以将整个类所属的函数和数据导入,在进行导入的时候,使用关键字“_declspec(dllimport)”。
在使用Visual Studio建立动态链接库的时候,首先是创建工程项目,并且选择项目类型为动态链接库类型,即:Application type的DLL选项。Static Library表示创建静态链接库,Windows application表示创建到窗口的可执行程序,Console application表示创建带命令行的可执行程序。具体情况如下图所示: