关于调用C的动态链接库的问题(较难,老鸟不妨也进来看看)

962veiri 962veiri 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在C#工程里面调用C的一个动态链接库,它的函数原型是

Dll 中函数的原型
int iaTrapSend(const char* psEnterpriseOID, int iGerneric, int iSepecific,
STUPARAM *pTrapParam, int iCount);
其中STUPARAM 定义如下
结构类型STUPARAM定义为:
typedef struct
{
char m_szParamName[256]; //参数名
char m_szInstance[256];//参数事例号
unsigned char m_ucType;//参数类型
unsigned short m_usVLen;//参数长度
unsigned char m_szValue[256];//参数值
unsigned short m_usError;//读写参数时的错误信息
}STUPARAM

我的代码如下:
[StructLayout(LayoutKind.Sequential)]
public struct STUPARAM
{
public char[] m_szParamName; //参数名
public char[] m_szInstance; //参数事例号
public char m_ucType; //参数类型
public ushort m_usVLen; //参数长度
public char[] m_szValue;//参数值
public ushort m_usError; //读写参数时的错误信息
}
public static extern int iaTrapSend(string psEnterpriseOID, int iGerneric, int iSepecific,
ref STUPARAM[] pTrapParam, int iCount);

但是每次调用都不成功,我单独写了一个类似的东西来测试发现应该是STUPARAM类型转换的问题,不知道哪位有办法??
...全文

相关推荐

在C语言中调用C++做的动态链接库

今天在做东西的时候遇到一个问题,就是如何在C语言中调用C++做的动态链接库so文件 如果你有一个c++做的动态链接库.so文件,而你只有一些相关类的声明, 那么你如何用c调用呢,别着急,本文通过一个小小的例子,让你能够很爽的搞定.   链接库头文件: head.h class A { public: A(); virtual ~A(); int gt(); int pt(); private: int s; }; firstso.cpp #include #include head.h A::A(){}

weixin_38607479

GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库

gcc -fpic -shared 源文件名…ar rcs 静态链接库名称 目标文件1 目标文件2 …

2401_85012467

Python调用C/C++动态链接库的方法详解

本文以实例讲解了Python调用C/C++ DLL动态链接库的方法,具体示例如下: 示例一: 首先,在创建一个DLL工程(本例创建环境为VS 2005),头文件: //hello.h #ifdef EXPORT_HELLO_DLL #define HELLO_API __declspec(dllexport) #else #define HELLO_API __declspec(dllimport) #endif extern "C" { HELLO_API int IntAdd(int , int); } CPP文件: //hello.cpp #define EXPORT_HELLO

weixin_38526421

java调用C的动态链接库

经过网上查找的资料和实践,可以在java界面中点击按钮调用C的程序将结果显示到java的文本框中,里面有代码和步骤,祝你成功~~

hit_pp

VS2019开发简单的C/C++动态链接库并进行调用的实现

主要介绍了VS2019开发简单的C/C++动态链接库并进行调用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

weixin_38619967
评论 10
收藏 已收藏
分享
返回顶部
962veiri
C# 111,129 成员 642,538 内容