有没有可能将单个神实例共享给与此代码相关的所有人,以放置在共享对象中?
god* _god = NULL;
extern "C"
{
int set_log_level(int level)
{
if(_god == NULL) return -1;
_stb->log_level(level);
return 0;
}
int god_init(){
if(_god == NULL){
_god = new god(); //Magic happens here
}
}
}
假设我在每个函数开始时执行锁同步,考虑到上帝本身可以新建/分配其他东西,但这些东西永远不会被返回给调用者(上帝只为内部使用分配内存),如果可能的话,最简单的方法是什么?
这如何扩展到连接到这个共享库的任意数量的程序?