我有一个包含结构的C程序
struct S{
int x;
struct timeval t;
};
和一个功能
int func(struct S s1, struct S s2)
我需要从我的python程序中调用这个函数。 我正在使用ctypes.Python上的并行结构
import ctypes
from ctypes import *
class S(Structure):
_fields_ = [("x",c_int),
("t", ?)]
现在,我的问题是我会写什么?地点和与之相关的任何依赖项。 提前致谢。
答案 0 :(得分:4)
在平台的C包含文件中找到struct timeval
的定义(Internet建议sys/time.h
),然后将其转码为ctypes结构。
在我的平台上,struct timeval
是
struct timeval {
long tv_sec;
long tv_usec;
};
(我想这也是标准),所以
class timeval(Structure):
_fields_ = [("tv_sec", c_long), ("tv_usec", c_long)]
class S(Structure):
_fields_ = [("x",c_int), ("t", timeval)]
可能适合该法案。
答案 1 :(得分:1)
没有任何进一步的信息,它将是timeval:
的定义class timeval(Structure):
_fields_ = [("tv_sec",c_long),
("tv_usec", c_long)]
class S(Structure):
_fields_ = [("x",c_int),
("t", timeval)]