Dll学习(四)--显式调用

来源:互联网 发布:c语言指针变量 编辑:程序博客网 时间:2024/05/29 13:22

简单Dll(无输出变量和函数)的加载

 

1、建立一个简单的Dll

 

 

2、可执行文件

 

 

 

 

1、dll中定义输出函数有两种方法,
(1)添加一个def定义文件,在此文件中定义dll中要输出的函数;
(2)在源代码中待输出的函数前加上__declspec(dllexport)关键字,该方法较好。

2、extern “C”关键字实际上相当于一个编译器的开关,它可以将c++语言的函数编译为c语言的函数名称。即保持编译后的函数符号名等于源代码中的函数名称。

3、BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, void* lpReserved)
入口函数,不是必须有的,该函数去掉一样编译通过。

4、有输出函数的Dll编译后产生两个文件:.dll和.lib

 

显示调用Dll中的输出函数

1、显式调用用LoadLibrary(_T("LoadDll.dll"))即可;
2、调用Dll的函数用GetProcAddress(hinst, "FuncInDll")得到函数指针;
3、Dll文件和编译生成的.exe文件在一个目录中,若不在同目录中,需要LoadLibrary指明路径。

 

 

1、Dll cpp

 

 

 

2、可执行文件

 

 

 

原创粉丝点击