我有一个在c库中定义的全局变量[例如:int globalcount = 0] 和库初始化函数[说library_init] globalcount增加1。动态变量具有静态存储行为与使用dlopen加载库时的动态变量
这里的问题是:当库使用dlopen和申请电话library_init功能打开和使用dlclose然后再dlopen的呼叫正在重置的globalcount 0
闭库,我想知道如何防止全局复位变量[我想globalcount必须是1而不是0] 当下一个dlopen被调用,因为进程不是退出所以全局变量也不能退出等。
如果库链接到在链接时使用-l进行处理,我不面临abv问题。 只有当库打开使用dlopen /问题dlclose [多次]
在Linux操作系统上 PROG兰:C 编译器:GCC
怎么办,在数据段的内存不能释放时dlclose叫?
这是一个操作系统问题,而不是语言问题。如果你告诉我们操作系统,它可能会有帮助(尽管我怀疑它)。当调用dlclose()时,如何将变量的状态保存到文件中。 –
操作系统是Linux,我们不想将任何想法保存到一个文件中,我认为它不是一个好方法。是否有任何方式使用静态存储类可以解决abv问题 – Syedsma
我认为你应该问问自己你为什么要在该库上执行'dlclose'的问题。我想不出多大用处。 –