介绍两种在c++中调用dll的方法
来源:互联网 发布:linux 电源按钮 锁定 编辑:程序博客网 时间:2024/05/16 01:20
一.关于不带有lib文件的dll的调用方法:
在调用程序中加入以下代码:
//定义一个函数指针
typedef void ( * TULIPFUNC )(void);
//定义一个函数指针变量
TULIPFUNC tulipFunc;
//加载我们的dll
HINSTANCE hinst=::LoadLibrary("COM_1.dll");
//找到dll的tulip函数
tulipFunc=(TULIPFUNC)GetProcAddress(hinst,"tulip");
//调用dll里的函数
tulipFunc();
这种方法比较适合系统函数的调用,因为系统只提供dll,而不提供.lib文件
二. 带lib文件的dll的创建及调用方法:
1. 创建一个dll,添加一个头文件,如header.h
头文件中添加一个需要导出的方法:extern "C" __declspec(dllexport) void test(void);
2. 在dll主程序中包含头文件(如header.h),并且添加对头文件中申明的需要导出方法的实现:
#include "header.h"
extern "C" __declspec(dllexport) void test(void)
{
::MessageBox(NULL,"ok","I''am fine",MB_OK);
}
3.这样创建的dll将包含lib文件,创建一个测试程序,在主程序中加入以下代码:
#include "header.h" //包含头文件
//注意路径,加载 Test.lib 的另一种方法是 Project | setting | link 设置里
#pragma comment(lib,"Test.lib")
int main(void)
{
test();//只要这样我们就可以调用dll里的函数了
return 0;
}
lib和dll的区别:Lib文件是dll输出符号文件。如果一个dll没有任何东西输出那么不会有对应的lib文件,但只要一个dll输出一个变量或函数就会相应的lib文件。总的说来,dll与lib是相互配套的。
- 介绍两种在c++中调用dll的方法
- C#调用非托管C++DLL的两种方法
- c++中关于dll的调用方法(两种)
- java中调用dll文件的两种方法
- java中调用dll文件的两种方法
- java中调用dll文件的两种方法
- VC中调用dll函数的两种方法
- java中调用dll文件的两种方法
- java中调用dll文件的两种方法
- 在C#中调用C++Dll函数的方法
- 调用DLL 的两种方法
- vc调用dll的两种方法
- 在Unity中引用Dll的两种方法
- 在Unity中引用Dll的两种方法
- 在Unity中引用Dll的两种方法
- 在Unity中引用Dll的两种方法
- 在ASP中调用DLL的方法
- 在ASP中调用DLL的方法
- Timer of Java_定时器
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- Linux块设备驱动的模块加载与卸载
- 17-1-(2)用引用排序
- 双数组AC自动机
- 介绍两种在c++中调用dll的方法
- Android中使用jni调用第三方源码:grep(1)
- Windows与Linux之间拷贝数据的方法
- Twitter Storm简介与入门
- 查找算法的实现和比较
- MFC中文件读写的几种方法
- iOS 企业证书发布app 流程
- salesforce 错误提示窗口
- archive log