2024-10-01 05:01:22 发布
网友
我正在使用pythonctypes模块访问一个包含一些time_t字段的C结构。在
time_t
鉴于其非完全可移植性,我不能静态地将这些字段定义为c_int或{}类型。在
c_int
如何定义它们以使代码可移植?在
示例C结构定义:
#import <sys/types.h> #import <time.h> typedef struct my_struct { time_t timestap; uint16_t code; };
相应的python ctypes结构:
最好的办法是反省运行脚本的系统,并确定使用哪种整数类型。有点像
if sys.platform == 'win32': time_t = ctypes.c_uint64 # ...
底线是标准中没有定义time_t。这取决于操作系统和编译器。因此,Python脚本中time_t的定义取决于与之交互的DLL/So。在
最好的办法是反省运行脚本的系统,并确定使用哪种整数类型。有点像
底线是标准中没有定义
time_t
。这取决于操作系统和编译器。因此,Python脚本中time_t
的定义取决于与之交互的DLL/So。在相关问题 更多 >
编程相关推荐