Каков самый простой и безопасный способ вызова функции из общей библиотеки /dll? В основном я заинтересован в том, чтобы делать это на linux, но было бы лучше, если бы был независимый от платформы способ.
Может ли кто-нибудь предоставить примерный код, чтобы показать, как выполнить следующую работу, когда пользователь скомпилировал свою собственную версию foo
в общую библиотеку?
// function prototype, implementation loaded at runtime:
std::string foo(const std::string);
int main(int argc, char** argv) {
LoadLibrary(argv[1]); // loads library implementing foo
std::cout << "Result: " << foo("test");
return 0;
}
Кстати, я знаю, как скомпилировать shared lib (foo.so
), мне просто нужно знать простой способ загрузить его во время выполнения.