2007年08月26日 00:43:28
学习开发DLL笔记
|
最近学习用VC来开发Win32 DLL,学了这几天,来作个总结。 int fun(int i)3、在DllTest.h中声明导出这个函数: __declspec(dllexport) int fun(int i);4、第三步也可以用DEF文件来指定要导出的函数,这样做可以在程序运行过程中显式的加载DLL。关于在程序运行过程中显式的加载DLL见 二、调用DLL。 添加一个DEF文件到工程,写入如下内容: EXPORTS5、编译这个工程,生成DllTest.dll,同时也生成了DllTest.lib文件。这个文件是供程序开发用的导入库。Fun 二、调用DLL 调用DLL有两种方法: 装载期间动态链接--模块可以向调用本地函数一样调用从其他模块导出的函数。装载期间链接必须使用DLL的导入库,也就是.lib文件。它为系统提供了加载这个DLL和定位DLL中的导出函数所需要的信息。 运行期间动态链接--程序运行期间可以使用LoadLibrary加载这个DLL,然后调用GetProcAddress函数取得DLL导出函数的地址,然后通过函数地址调用DLL中的函数。 1、装载期间动态链接。 新建一个Win32 Console Application工程--DllApp。把刚才建立的那个工程中的DllTest.dll、DllTest.h和DllTest.lib拷贝到DllApp目录下。在DllApp.cpp文件中写入: #include <windows.h>2、运行期间动态加载 新建一个Win32 Console Application工程--DllApp2。把建立的DllTest.dll拷贝到DllApp2目录中--一定要用在生成DLL部分按照第四步产生的DLL文件,否则程序无法运行。在DllApp2.cpp中写入: #include <windows.h> Tags:
dll
|
一共有 0 条评论