Re: [問題] Python可以用來整合C Matlab?

看板Python作者 (酷狗喵千代)時間16年前 (2009/03/11 22:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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)
文章代碼(AID): #19jyQI8k (Python)
文章代碼(AID): #19jyQI8k (Python)