4
假設我有C函數與可變長度參數列表綁定到C函數:創建ctypes的可變長度ARG列表
int some_func(int arg1 , ...);
是否有可能(簡單嗎?)來調用使用ctypes的蟒蛇這個功能呢?
更新:從塞德里克和
實施建議的工作般的魅力:
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()函數作爲唯一的小麻煩。所以 - 總而言之,這比我容易得多。不過我猜想用va_args修改fxxx的可能性仍然是一樣的。