我想創建一個可通過插件擴展的應用程序。我知道我有兩個選擇。我可以使用該語言的內置解釋器創建自己的解釋語言和應用程序。我可以使用其中一種現有語言,例如 Python、Lua 或其他腳本語言。我想使用選項 2。而且我知道我必須為外部語言創建一個層,以啟用該語言和我的應用程序之間的通信。但我不知道該怎么做。也許我必須使用進程間通信或類似的東西。假設我有一個用 C++ 編寫的應用程序。一開始,它甚至可能是一個顯示一些選項的簡單控制臺應用程序。我想用 Python 寫一個這樣的插件:option = "additional option"
myApp.addOption(option)接著:我啟動我的應用程序我的應用加載插件我看到我的應用程序顯示了這個附加選項我想做這個簡單的事情來了解它是如何工作的,然后我將能夠做一些更復雜的事情。
2 回答

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
您應該注意,可以從 C 程序調用 C++ 庫,主要是通過適當地使用extern "C"
來禁用名稱修飾。在 Linux 上,另請閱讀C++ dlopen mini Howto。
然后你需要閱讀擴展和嵌入 Python 解釋器一章
最后,Python是開源的,所以請研究它的源代碼。
我可以使用其中一種現有語言,例如 Python、Lua 或其他腳本語言。
TensorFlow或NumPy都可以激發您的靈感,因為它們是可從 Python 使用的開源庫(用 C 和/或 C++ 編碼)。

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
您可以先查看語言的文檔(如果您是新手):
Python --> https://docs.python.org/3/ Lua --> https://www.lua.org/docs.html
C++ 庫也可以在 C 中調用(如果你足夠小心的話),你也可以看看這個 https://www.teddy.ch/c++_library_in_c/
添加回答
舉報
0/150
提交
取消