如何访问python中的结构成员、C中的结构作为参数传递ref、python中的存根函数

2024-03-28 20:35:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python为c代码编写单元测试。我在C中有一个结构和函数

typedef struct
{
   char abc;
   int bcd;

}Tn_Status,nStatusType;

void GetStatus(nStatusType *);

有一个条件,我需要将结构的成员/元素(bcd)设置为值=1。 现在的问题是,如何在python中存根这个:GetStatus函数以使:

nStatusType.bcd = 1; 

以下是python中的存根函数def:

var_GetStatus = 0

@stub(GetStatus)
def GetStatus(*args):
    print "----<> GetStatus was called " 
    global var_GetStatus

    return var_GetStatus

也尝试如下,但它没有工作

@stub(GetStatus)
def GetStatus(*nStatusTypeIns):
    print "----<> GetStatus was called " 
    global var_GetStatus
    nStatusTypeIns.bcd = 1
    return var_GetStatus

我在这里引用了一些参考资料@ 1. Passing Structs in Ctypes 2. https://www.python-course.eu/python3_passing_arguments.php


Tags: 函数returnvardef结构global存根print