Python向怎么向C语言传递结构体

海康的SDK,我要用Python写代码登录相机,怎么传递参数C中的函数,需要传入两个参数LONGNET_DVR_Login_V40(LPNET_DVR_USER_LOGI... 海康的SDK,我要用Python写代码登录相机,怎么传递参数
C中的函数,需要传入两个参数
LONG NET_DVR_Login_V40(
LPNET_DVR_USER_LOGIN_INFO pLoginInfo,
LPNET_DVR_DEVICEINFO_V40 lpDeviceInfo
);
参数为C中的结构体
struct{
char sDeviceAddress[NET_DVR_DEV_ADDRESS_MAX_LEN];
BYTE byRes1;
WORD wPort;
char sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN];
char sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN];
fLoginResultCallBack cbLoginResult;
void *pUser;
BOOL bUseAsynLogin;
BYTE byRes2[128];
}NET_DVR_USER_LOGIN_INFO,*LPNET_DVR_USER_LOGIN_INFO;
我要用Python调用函数NET_DVR_Login_V40(a,b)我应该怎么用Python定义这个a
大神,求解
展开
 我来答
阿达贴
推荐于2018-04-09 · TA获得超过177个赞
知道小有建树答主
回答量:1513
采纳率:0%
帮助的人:236万
展开全部
况如下:
打算从Python发一个TCP数据包给远程服务器,数据的主体是一个C语言的 struct (较大,size 为1402)。由于这个struct太复杂,故不打算在python 处对其重新定义,目前的想法是用python调用一个C语言的模块,在这个模块中定义这个Struct,并设置好数据后,将其struct传回python中,再打包传送服务器。

但是不知道如何将这个struct 变量从C语言 传入Python中。尝试用Py_BuildValue函数,以Py_BuildValue("P",&interface_setup) //interface_setup为结构体变量
传递,

但是几次都得到运行时错误:

SystemError: bad format char passed to PyBuildVaule。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式