【发布时间】:2014-07-22 17:30:18
【问题描述】:
在 C++ 中,我希望能够在不加载动态库的情况下模拟“插件”。我找到了一种将静态库中的函数连接到我的可执行文件而不引用它的方法,但我不确定这是正确的。
因为全局符号是在翻译单元主函数之前初始化的,所以我可能会这样写:
int _ = []()
{
std::cout << "hook" << std::endl;
return 0;
} ();
lambda + IIFE 模式 + safe initialisation 的组合有效,但由于我从未遇到过这种技术,我担心未定义的行为或编译器特定的细节。有什么更好的吗?
【问题讨论】:
标签: c++11 lambda static-initialization