【求助】c#调用c++动态库 如何定义函数

问题描述

是用来计算MAC码的C++中函数定义如下:ZDLL_APIvoid__stdcallCountMac(unsignedchar*key,unsignedchar*inittext,unsignedchar*Source,unsignedintle,unsignedchar*destin);

其中参数:key:密钥16字节inittext:初始值16字节Source:需加密的数据le:加密数据的长度destin:加密后的结果4字节我在C#中的调用如下:[DllImport("ZDLL.dll")]privatestaticexternvoidCountMac(stringkey,stringinittext,stringsource,uintlen,StringBuilderdestin);

但是算出来的结果就是不对请高手指教一下C#中调用的时候方法怎么定义主要是参数类型

解决方案

解决方案二:
自己已解决、如下:[DllImport("ZDLL.dll")]privatestaticexternvoidCountMac([MarshalAs(UnmanagedType.LPArray)]byte[]key,[MarshalAs(UnmanagedType.LPArray)]byte[]inittext,[MarshalAs(UnmanagedType.LPArray)]byte[]source,uintle,[MarshalAs(UnmanagedType.LPArray)]byte[]destin);

时间: 2024-10-31 22:59:26

【求助】c#调用c++动态库 如何定义函数的相关文章

c#调用c++动态库 char* []类型

问题描述 DWORD__stdcallDBPCreate(char*sips[],char*susers[],char*spasss[],WORDwport[],intnsize);c#调用c++动态库,这个函数怎么导入 解决方案 解决方案二:[DllImport]staticexternintDBPCreate(byte[][]sips,byte[][]susers,byte[][]spasss,ushort[]wport,intnsize);解决方案三:char*可以用StringBuild

<急>关于jni调用第三方动态库不成功

问题描述 <急>关于jni调用第三方动态库不成功 我在自己的方法中调用第三方动态库的方法可是要么就报该方法没有定义要么就出现如下错误求解答在线等..!!!

急求解答!C#调用C++动态库的结构体参数及返回问题 50分

问题描述 最近研究读取一卡通卡号的问题,对方给了动态库DLL及函数帮助文档,计划用C#实现对cpp动态库的调用,由于cpp方面知识实在薄弱,在碰到了结构体传参的时候,一直无法正常进行.Cpp的函数说明:IntLKE_ICCR_HID_ExchangeAPDU(G_APDU_COMM*ApduComm,G_APDU_RESP*ApduResp) 参数定义:ApduComm:APDU数据包APDU应答包返回值:0:成功<0:错误ApduComm结构体-cpptypedefstruct{unsigne

C#调用非托管动态库中的函数

C#如何调用一个非托管动态库中的函数呢,比如用VC6写的动态库,总之C#调用动态库的过程是比Java调用DLL动态库方便快捷多了,下面举例说明这个过程. 1.创建一个非托管动态库 代码如下: //这一句是声明动态库输出一个可供外不调用的函数原型. extern "C" __declspec(dllexport) int add( int , int ); int add( int a, int b) { //实现这个函数returna+b; } 注意上面代码,一定要加上 extern&

请问web开发中,js调用DLL动态库,同一台pc机调用了不同的动态库,有的动态库调不到,怎么办?

问题描述 请问web开发中,js调用DLL动态库,同一台pc机调用了不同的动态库,有的动态库调不到,怎么办? 两个动态库,一个医保刷卡的,一个刷POS的,单独使用POS机,能正常使用,但是如果之前使用过医保刷卡机,就不能进入POS的动态库了,感觉像是冲突了一样,哪个大神能帮忙解决一下. 解决方案 两个动态库,一个医保刷卡的,一个刷POS的,单独使用POS机,能正常使用,但是如果之前使用过医保刷卡机,就不能进入POS的动态库了,感觉像是冲突了一样,哪个大神能帮忙解决一下.

dll动态库-python 调用DLL 动态库之后 怎么释放

问题描述 python 调用DLL 动态库之后 怎么释放 各位大神,请问python 利用 ctypes调用DLL之后怎么释放啊 解决方案 不需要释放,CDLL析构中会自动释放

android-[NDK]关于NDK调用第三方动态库的问题

问题描述 [NDK]关于NDK调用第三方动态库的问题 假设现在有个动态库libOther.so,我调用了它里面的函数写了动态库libMy.so(以上都是x86下g++直接编译链接的) 现在我有一个android应用打算用libMy.so里的函数,最终封装成NDK下的动态库main.so, 请问在NDK下应该如何build? 本人NDK小白,能否详细说下: 1.两个(Other 和 My)动态库放哪? 2.两个动态库对应的头文件放哪? 3.mk文件应该如何修改? 4.JNI实现的main.cpp应

c++-C#调用C++动态库DLL中的函数

问题描述 C#调用C++动态库DLL中的函数 C#调用C++动态库DLL中的函数,此函数参数中有bool(小写)类型的参数.c#该如何进行转换 解决方案 C#调用C++动态库dllC#调用C++动态库(dll)C#动态调用C++编写的DLL函数 解决方案二: bool类型的true 或false一般对应1和0.有的语言没有bool类型的.传递参数时可用整型替代. 解决方案三: public static extern int RD_CloseCom(bool IsOpen); 解决方案四: 在C

c#-窗体程序调用别人动态库成功,控制台应用程序不成功

问题描述 窗体程序调用别人动态库成功,控制台应用程序不成功 C#调用别人的动态库,用窗体程序调用成功 用控制台应用程序调用不成功 解决方案 1.在解决方案中添加引用:右键鼠标-->添加引用-->浏览-->选择dll放置路径后点击"确定". 2.在应用文件头处使用using ×××: 3.控制台下面在main中调用. 第一次回答问题,不知道对你有木有帮助