假设我有一个带有可变长度参数列表的C函数:
int some_func(int arg1 , ... );
是否可以(轻松?)使用ctypes从python调用此函数?
更新:
实施了塞德里克的建议,其效果就像魅力一样:
libc = ctypes.CDLL( "/lib64/libc.so.6" , ctypes.RTLD_GLOBAL )
printf = getattr( libc , "printf")
printf("String1:%s int:%d String2:%s double:%lg\n" , "Hello" , 10 , "World" , ctypes.c_double( 3.1415 ))
使用ctypes.c_double()函数作为唯一的小麻烦。所以 - 总而言之,这比我更容易;但是我觉得用fa_args提高fxxx的可能性仍然是一样的。