[问题] 呼叫C 函式的问题

楼主: vgy   2017-07-02 20:52:20
我用c写了一个library
ex: func1(char* p, int size);
func1 里面会对 p指到的buffer做修改
我用swig 转出一个so档 让python可以 import使用
在python里面 我用 create_string_buffer() 去建立一块内存
然后想传递给func1
ex
p = create_string_buffer(100)
module.func1(p,100)
module.func1(byref(p),100)
都会产生 typeerror: argument 1 of type 'char *'
请问该如何修改才可以让python 产生一块内存传递给C去修改内容?
作者: os653   2017-07-02 23:48:00
你没写错吧?以前写的# 把资料抓到 bufferbuffer_ = create_string_buffer(buffer_size)GetDIBits(hdc, self.handle, 0,bmp.bmHeight,buffer_,byref(bi), DIB_RGB_COLORS)抱歉忘了对齐code,总之叫Windows API的时候可以那样传没错
楼主: vgy   2017-07-03 15:08:00
还是有需要加 什么typemap吗

Links booklink

Contact Us: admin [ a t ] ucptt.com