VS 2010 c++ MFC 如何显示调用DLL中的函数

本文详细阐述了如何在没有.h和.lib文件的情况下,通过接口定义直接调用DLL中的特定函数,包括加载DLL、定义接口类型、获取并调用函数的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要记录,如何调用第三方动态库DLL,不通过隐式调用,没有.h文件和.lib文件;但已知函数的接口定义,DLL中方法的名称以及参数类型,接下来讲解的是如何让其中的方法为我们所用,以下是详细步骤:

1.加载DLL

   HINSTANCE hdll = NULL;
 
   CString dllPath = "DLL所在的路径";

	hdll = LoadLibrary(dllPath + _T("Test.dll"));

	if (hPDdll == NULL)
	{
		 printf("Failed to load Test.dll");

		
		 return;
	}

2.定义及加载函数接口类型

  //定义接口类型
  typedef int (*FNUC_GETCALIDATA)(int type, UCHAR* cali_buffer,BYTE * RawBuffer,UINT 
  Num,int Pos);
	
   //定义变量
	FNUC_GETCALIDATA				pd_getcalidata		     = NULL;
	
   //加载函数接口
	getdata = (FNUC_GETCALIDATA)GetProcAddress(hdll, "CalibMethod");
	
	if (getdata == NULL)
	{
		printf("Failed to GetProcAddress getdata");

	   	return;
	}

3.调用接口

Byte* rawBuf = new Byte[buffersize]

UCHAR* output = new UCHAR[size];
memset(output,0,sizeof(output));

int iret = getdata(0, output,rawBuf,0,0);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值