[問題] MFC 與 Python 互通

看板C_and_CPP作者 (Ferric)時間7年前 (2018/11/03 12:36), 7年前編輯推噓2(2010)
留言12則, 6人參與, 7年前最新討論串1/1
公司買了一個繪圖引擎 是 MFC 寫的 沒有 source code 只有 API (如果有得選 打死也不選 MFC) 目前要做的是 用 MFC 寫 plugins 主程式會自動載入 plugins 問題來了 我原本是寫應用的 非底層 用 Python 跟 C# 也非 CS 出身 壓根不懂 C/C++/底層/回收/記憶體管理等等 有嘗試著學 MFC 但是進度實在是太慢了 光是處裡檔案路徑的字串字元就搞死我了 更何況本來就要做的東西還是要繼續做 那來的美國時間 最近聽同業以前專門寫 MFC 的前輩說 有工具可以自動產生 API 讓 Python 或 C# 語言來處理 別浪費生命在 MFC 上 現在科技這麼發達 難道沒辦法用 Python 或 C# 來處理嗎 請問有關鍵字可查詢嗎 感謝 EDITED 這篇跟我遇到的狀況好像是一樣的 https://goo.gl/HU2MfU 都是有個主程式 但是要寫的是 plugins plugins 要 dllexport 特定方法 主程式才會主動載入 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.11.247 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1541219793.A.B8D.html ※ 編輯: largesperm (114.33.11.247), 11/03/2018 12:38:19

11/03 13:05, 7年前 , 1F
VS的C/MFC應該可以包成lib給C#使用
11/03 13:05, 1F
※ 編輯: largesperm (114.33.11.247), 11/03/2018 15:20:04

11/03 15:58, 7年前 , 2F
Google SWIG
11/03 15:58, 2F
看了一下 SWIG 酷! 我大概描述一下 主程式我不用動 我要寫的是 plugin plugin 必須要 dllexport 特定方法 主程式就會自動載入該 plugin 並在主程式的選單多一個按鈕出來 按下按鈕的時候 就會去執行其中一個特定方法 所以這樣看起來一定得要有一個 MFC dll 的外殼在 但是我實際的操作過程是寫在 Python 或 C# 那這樣要怎麼把東西塞到 MFC dll 中 兩邊又要得是互動的 例如 MFC 呼叫 Python 要去解壓縮某檔案 Python 解壓縮完要回丟解壓縮完的檔案位置給 MFC ※ 編輯: largesperm (114.33.11.247), 11/03/2018 16:16:47

11/03 22:23, 7年前 , 3F
我比較好奇 你寫c#但不懂記憶體管理?
11/03 22:23, 3F

11/04 00:06, 7年前 , 4F
可能是因為我寫的都是 plugins 吧 沒有特別注意記憶
11/04 00:06, 4F

11/04 00:06, 7年前 , 5F
體這件事情 就直接寫了 效能不好再來查那邊用的時間
11/04 00:06, 5F

11/04 00:06, 7年前 , 6F
多 再下去改 寫久了就知道那些寫法不好
11/04 00:06, 6F

11/04 00:14, 7年前 , 7F
GC 在背後可能就默默幫我做了許多事情了
11/04 00:14, 7F

11/04 18:34, 7年前 , 8F
聽起來你要的是顛倒, 因為主程式是 MFC, 你要掛 Python
11/04 18:34, 8F

11/04 18:35, 7年前 , 9F
這樣你要的應該是做出一個 Python.dll 的 MFC wrapper
11/04 18:35, 9F

11/05 11:45, 7年前 , 10F
有道理 感謝解惑
11/05 11:45, 10F

11/08 08:29, 7年前 , 11F
Google: python call C API by Boost
11/08 08:29, 11F

11/08 13:11, 7年前 , 12F
其實有簡易作法 C#跟python之間用socket溝通就好啦
11/08 13:11, 12F
文章代碼(AID): #1RtINHkD (C_and_CPP)