动态链接库(一)
1.新建文件夹,命名lpt
2.用vc6.0建立一个空工程(Win 32 Dynamic-Link Library),名称:lptDll1
3.新建C++文件,命名:lptDll1;新建.h文件,命名:lptDll1.;新建在工程内新建文本文件,命名:lptDll1.def(注意.def后缀一定要写在名称内)
4.lptDll1.h的代码:
1 void lptDllTest1(); 2 void lptDllTest2();
5.lptDll1.cpp的代码:
1 #include<iostream.h> 2 #include "lptDll1.h" 3 4 void lptDllTest1() 5 { 6 cout<<"这是我第一个测试Dll静态加载函数!"<<endl; 7 } 8 9 void lptDllTest2() 10 { 11 cout<<"这是我第二个测试Dll静态加载函数!"<<endl; 12 }
6.lptDll1.def的代码:
1 LIBRARY lptDll1 2 EXPORTS 3 lptDllTest1 @1 //@1是序号 //lptDllTest1是函数 4 lptDllTest2 @2
7.编译——执行
点击“取消”
8.新建另一个工程(Win 32 Console Application),名称:lppDll1Test。新建C++文件,命名:lptDll1Test
lptDll1Test代码如下:
1 #include"lptDll1.h" 2 void main() 3 { 4 lptDllTest1(); 5 lptDllTest2(); 6 }
当点击编译发现该库未导入当然不可行
9.找到lptDll1文件夹的子目录中的刚刚执行完毕的debug文件内把lptDll1.lib以及lptDll1.dll复制到lptDll1Test的目录下;同样地,lptDll1文件夹中的lptDll1.h也复制到lptDll1Test的目录下
再次编译,此时会提示找不到这两个函数
10.该库仍然未成功导入,那该如何呢?
找到“工程”—“设置”—“链接/link”,在对象/库模块添加lptDll1.dll动态链接库
再次编译,成功。调用这两个函数,并输出:
这是我第一个测试Dll静态加载函数!
这是我第二个测试Dll静态加载函数!
Press any key to continue
原文:http://www.cnblogs.com/imLPT/p/3682040.html