[英]Cross-Platform C++ Dynamic Library Plugin Loader
我只是想知道我對使用共享庫動態加載插件的跨平台實現的選擇。 到目前為止,我發現的唯一一個是:
而我只是想知道我是否有其他選擇? 本質上,我希望能夠將插件放在共享對象文件中,並在運行時加載它們,我希望以跨平台的C ++方式實現。
您可以查看Boost Extension,但尚未被Boost接受。
Boost.Extension庫的開發旨在簡化使用共享庫的插件和類似軟件擴展的開發。 可以從共享庫中獲取類,函數和數據,並由應用程序加載。
如果你想要簡單輕巧的東西,請嘗試: https : //pocoproject.org/docs/package-Foundation.SharedLibrary.html
使用SharedLibrary類需要三行來調用C共享庫中的函數:
Poco::SharedLibrary lib("libfoo.so");
int (* foo)(int) = reinterpret_cast<int (*)(int)>(lib.getSymbol("foo"));
printf("answer %d\n", foo(5));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.