int main() { auto plugins = ListOfPlugins(); for (auto &name : plugins) { Dllhandle handle = dlopen(name.c_str(), RTLD_LAZY); IPlugin *plugin; auto initFunc = (init_dll)dlsym(handle, "Init"); plugin = initFunc(); plugin->PrintString(); auto releaseFunc = (release_plugin)dlsym(handle, "Release"); releaseFunc(plugin); dlclose(handle); } getchar(); return 0; }