看板 C_and_CPP 關於我們 聯絡資訊
公司買了一個繪圖引擎 是 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
feeya: VS的C/MFC應該可以包成lib給C#使用 11/03 13:05
※ 編輯: largesperm (114.33.11.247), 11/03/2018 15:20:04
layan: Google SWIG 11/03 15:58
看了一下 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
jass970991: 我比較好奇 你寫c#但不懂記憶體管理? 11/03 22:23
largesperm: 可能是因為我寫的都是 plugins 吧 沒有特別注意記憶 11/04 00:06
largesperm: 體這件事情 就直接寫了 效能不好再來查那邊用的時間 11/04 00:06
largesperm: 多 再下去改 寫久了就知道那些寫法不好 11/04 00:06
largesperm: GC 在背後可能就默默幫我做了許多事情了 11/04 00:14
uranusjr: 聽起來你要的是顛倒, 因為主程式是 MFC, 你要掛 Python 11/04 18:34
uranusjr: 這樣你要的應該是做出一個 Python.dll 的 MFC wrapper 11/04 18:35
largesperm: 有道理 感謝解惑 11/05 11:45
Zephyr750: Google: python call C API by Boost 11/08 08:29
feeya: 其實有簡易作法 C#跟python之間用socket溝通就好啦 11/08 13:11