我最近转向Linux,并希望在G++上编译我的VisualStudio2010 G++源代码,它只使用STL。我的Linux机器目前不可用,但我可以尝试告诉您发生了什么,首先:
在我试图编译我的项目时,我在main中使用的所有全局变量以及在MSVC上完美地工作的所有变量都会导致myGlobalVar is not,G++和MSVC在全局变量方面的区别在哪里?
我正在尝试理解/Linux内核是如何处理全局变量的。increment global variable exit(0);输出是2123,在调用fork()和信号处理程序之后,Unix/Linux内核是如何处理全局变量的?这段代码的另一个问题是kill()和wait()将如何处理全局变量,以及它们将使用什么集合-父变量还是子变量?他们会调用信号处理程序吗??
谢谢!
我在c库中定义了一个全局变量,例如: int globalcount =0,在库初始化函数中,假设library_init globalcount递增1。我想知道如何防止全局变量重置,我希望globalcount在下次调用dlopen时必须是1而不是0,因为进程没有退出,所以全局变量也不能重置。仅当多次使用dlopen/dlclose打开lib时才会出现此问题怎么办,调用dlclose时一定不能释放数据段中的内存?