打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
只有dll的情况下如何动态调用里面的类成员函数


因为项目的需求需要在后台接口中调用项目方提供的dll加解密库,根据已知信息不知道dll里面封装使用了什么算法所以只能硬生生的调用dll里面的函数来进行加解密,如果后台接口使用java编写的话可以通过直接加载dll库通过jna的方式来进行调用,但是加解密函数是一个C写的类成员函数,意思是说必须先实例化一个类才能调用里面的加解密函数,但是java通过jna方式的话不能调用dll中的类成员函数,只能调用外部函数,如果通过jni的方式来调用C++,然后C++来调用dll的话,C++必须采用静态链接dll才行,意思是必须具备dll文件、.lib文件以及.h申明文件三者不可缺一,但是项目需求的话只提供了dll文件,所以这种方式也不行,最终通过千辛万苦搜集资料查找发现可以在vb中通过svr32注册dll的方式来直接引用里面的CEncrypt类,然后实例化一个类后就可以调用里面的加解密函数了,然后再把vb中调用dll的函数再封装成dll(切记vb在封装dll的时候会访问注册表,所以必须以管理员权限运行vb环境,否则会生成失败,就算成功后台也没法直接引用)供后台去直接调用,如果后台接口用C#写的话可以直接以引用的方式添加刚才封装的dll,我试过如果不通过vb封装做转接直接引用那个最原始的dll的话会引用失败。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MFC写COM组件(趁热打铁)
VB与MATLAB混合编程探讨
使用 __declspec(dllexport) 从 DLL 导出
VB中Implements的作用
在C++类中使用dllimport和dllexport导出
JAVA – 虚函数、抽象函数、抽象类、接口
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服