Re: [問題] Python可以用來整合C Matlab?
※ 引述《sbrhsieh (sbr)》之銘言:
: ※ 引述《huskyching (紮馬尾)》之銘言:
: : 想請教一個問題
: : 如果現在寫了很巨大的程式
: : 其中有些是用C寫 有些是用matlab寫
: : 那python適合用來整合他們嗎??
: : 例如寫了 2個C語言程式 C1 C2 1個Matlab程式 M1
: : C1去執行M1 M1值要給C2用
多巨大?
十萬行以上,照原來的 Matlab/C 繼續幹大概最省時。
一萬行左右的東西,照不同的結構可以有不同的作法。
是否有模組化?若無,序列的 workflow 有多少分支?
可以進一步討論。
一千行左右的話,重寫成 Python/C 的版本比較快。
所謂的快,是以不要超過一個工作周為準。
: : 我估狗的結果都是產生dll檔直接給C或matlab用 沒提到python
: : 看了一些python的教學也沒提到這回事 囧
http://www.python.org/doc/2.5.4/ext/ext.html
注意,既然考慮從 Matlab 轉到 Python,
numpy/scipy/matplotlib 大概會是必用的程式庫。
如果不想給自己找麻煩的話,請先用 2.5,不要去試 2.6,
可能會遇到一些相依性的問題。3.0 想都不要想。
: : 請問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。
附議 ctypes 是比較方便的作法。
FF 也不限一定要用 C,只要符合 ctypes 定義的 calling convention 就可以了。
這部分的文件請查 library reference。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.146.115.41
※ 編輯: yungyuc 來自: 128.146.115.41 (03/11 22:15)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章