c中参数类型为*int32para
python list是一个20000组数据
list=[1,2,……,20000]
求把这个列表分20000次,每次传一个数据,全部传入到c这个参数中。
你要分20000次传,那不就是循环吗
for li in list:
#传入li
你把这个列表遍历写入到一个txt中,再用C读进去呗,过渡一下
看看ctypes模块吧,应该会有答案的,
可以将ctypes 类型数据传入pointer() 函数创建指针:
>>> from ctypes import *
>>> i = c_int(42)
>>> pi = pointer(i)
>>>
指针实例拥有contents 属性,它返回指针指向的真实对象,如上面的 i 对象:
>>> pi.contents
c_long(42)
将这个指针的 contents 属性赋值为另一个c_int 实例将会导致该指针指向该实例的内存地址:
>>> i = c_int(99)
>>> pi.contents = i
>>> pi.contents
c_long(99)
c函数的动态连接库是怎么写的?如果你用ctype或者pybind11调用是需要额外添加一些内容才能被python调用,比如在pybind11里可以在c++代码使用std::vector<int>
作为数据类型,然后编写一个导出模块,之后才能编译一个动态库,之后就可以在python中可以传入一个list
from ctypes import POINTER, c_double, c_int64, c_int32, byref
l=[1,2,……,20000]
for c in l:
c=c_int32(c)
传参
没见过
https://blog.csdn.net/weixin_39517054/article/details/109927660