Re: [問題] Python可以用來整合C Matlab?
※ 引述《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
推
03/11 18:17, , 1F
03/11 18:17, 1F
→
03/11 18:17, , 2F
03/11 18:17, 2F
看你應用的 scale。
假如你整個應用所需的功能大部分都已經以 C 與 matlab 做好了,那麼你就直接用
C 把其他部分補完。
如果 C/matlab 只是負責一部份(20%)的功能(比如這部分以 Python 實做有 runtime
效率上的不足),其他多數功能(80%)以 Python 來實做都沒有問題,你想要以 Python
來獲得開發上的效率,我想這會是你原本會考慮到 Python 的一個蠻大的因素吧?
※ 編輯: sbrhsieh 來自: 218.173.130.21 (03/11 18:24)
推
03/11 18:26, , 3F
03/11 18:26, 3F
→
03/11 18:27, , 4F
03/11 18:27, 4F
討論串 (同標題文章)