我有一个遗留的CLinux应用程序,需要重用。这个应用程序使用了很多全局变量。我想重用这个应用程序的main方法,并在一个循环中调用它。我发现,当我在循环中调用main方法(重命名为callableMain)时,应用程序行为并不一致,因为在以前的迭代中设置的全局变量的值会影响新迭代中的程序流。我想要做的是在执行新的迭代之前将所有全局变量重置为默认值。例如,原始程序是这样的#include <stdio.h>
int glo
我在c库中定义了一个全局变量,例如: int globalcount =0,在库初始化函数中,假设library_init globalcount递增1。我想知道如何防止全局变量重置,我希望globalcount在下次调用dlopen时必须是1而不是0,因为进程没有退出,所以全局变量也不能重置。仅当多次使用dlopen/dlclose打开lib时才会出现此问题怎么办,调用dlclose时一定不能释放数据段中的内存?