今天对本论坛来说是重要的一天,我会一如既往的发这中水贴然后没人理没人谢,直到我破产,哼。
最近在写一个 python调用C的程序,思路如下:
python numpy, scipy 实现算法,搭建实验平台;
C, opengl实现绘图,将算法中的很大的矩阵显示出来,先粗粗画出来,然后再在关注细节问题和设计问题。
好了,我似乎可能差不多看懂了如何写C扩展,什么wrapper函数,method table。Ok, 理想情况下是这样滴:
C模块和python共享一个numpy.matrix对象。在python中算好,调用C,就能根据这个矩阵画出图来。因为,,,这个矩阵实在太大咯,本身就是高维矩阵,用python算法好不容易降维了,有算了其他一堆堆东西,好了小本本已经受不了了。
可是我看wrapper函数在例子里传的都是内置的数据类型,能传矩阵进去啊?等一下,幻觉了,C里面哪有numpy.matrix?肯定不行,是不是得把它变成list类型,然后传?好吧,又得double内存咯,传不传的进啊?是指针还是copy?好吧,现在triple咯,原来鄙视用python输出文件,再让C读,觉得这不是真正的hybrid代码,什么python的好处啊,都没用上,你们说,我上段说的那种理想情况有机会实现没?
最近在写一个 python调用C的程序,思路如下:
python numpy, scipy 实现算法,搭建实验平台;
C, opengl实现绘图,将算法中的很大的矩阵显示出来,先粗粗画出来,然后再在关注细节问题和设计问题。
好了,我似乎可能差不多看懂了如何写C扩展,什么wrapper函数,method table。Ok, 理想情况下是这样滴:
C模块和python共享一个numpy.matrix对象。在python中算好,调用C,就能根据这个矩阵画出图来。因为,,,这个矩阵实在太大咯,本身就是高维矩阵,用python算法好不容易降维了,有算了其他一堆堆东西,好了小本本已经受不了了。
可是我看wrapper函数在例子里传的都是内置的数据类型,能传矩阵进去啊?等一下,幻觉了,C里面哪有numpy.matrix?肯定不行,是不是得把它变成list类型,然后传?好吧,又得double内存咯,传不传的进啊?是指针还是copy?好吧,现在triple咯,原来鄙视用python输出文件,再让C读,觉得这不是真正的hybrid代码,什么python的好处啊,都没用上,你们说,我上段说的那种理想情况有机会实现没?