作者sbrhsieh (sbr)
看板Python
标题Re: [问题] Python可以用来整合C Matlab?
时间Wed Mar 11 18:14:56 2009
※ 引述《huskyching (紮马尾)》之铭言:
: 想请教一个问题
: 如果现在写了很巨大的程式
: 其中有些是用C写 有些是用matlab写
: 那python适合用来整合他们吗??
: 例如写了 2个C语言程式 C1 C2 1个Matlab程式 M1
: C1去执行M1 M1值要给C2用
: 我估狗的结果都是产生dll档直接给C或matlab用 没提到python
: 看了一些python的教学也没提到这回事 囧
: 请问python适合用来整合C与matlab吗??
如果你原本 C 程式与 matlab 之间的整合已经没问题,那麽你需要的只是 Python
与 C 程式的结合。
最基本的作法是透过 Python C API,以 C 来写 glue code 把 C 语言作出来的功能
包装成 Python module/class,给 Python 端的程式使用。
另外一个作法是不自己以 C 写 glue code,直接使用 ctypes 之类的 FFI 套件,
透过 FFI 使得 Python code 可以去使用其他语言制作出来的 native code。
比如这一篇:
#19fI-1D_ 旧文中,Python 程式透过 ctypes 来调用 Windows/win32
API。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.130.21
1F:推 huskyching:假设现在是没整合过的程式 那你认为用python会比 03/11 18:17
2F:→ huskyching:直接整合C和matlab好吗? 03/11 18:17
看你应用的 scale。
假如你整个应用所需的功能大部分都已经以 C 与 matlab 做好了,那麽你就直接用
C 把其他部分补完。
如果 C/matlab 只是负责一部份(20%)的功能(比如这部分以 Python 实做有 runtime
效率上的不足),其他多数功能(80%)以 Python 来实做都没有问题,你想要以 Python
来获得开发上的效率,我想这会是你原本会考虑到 Python 的一个蛮大的因素吧?
※ 编辑: sbrhsieh 来自: 218.173.130.21 (03/11 18:24)
3F:推 huskyching:我是希望他可以好管理 @@ 03/11 18:26
4F:→ huskyching:我再研究看看 囧a 03/11 18:27