如何确保在全局变量的任何ctor之前执行函数?

时间:2017-01-16 02:23:29

标签: c++ gcc visual-c++ global-variables standards

在VC ++和GCC中,main不是程序的真正入口点;但我们可以通过编译器参数-ENTRY-Wl,-eentry重置程序的真实入口点。

例如:VC ++中默认的实际入口是mainCRTStartup;也就是说,mainCRTStartup将在main之前调用。

我的问题是:如果我的程序中有多个全局C ++变量,那么它们是否保证在mainCRTStartup完成之前不会被初始化?

  

问题背景:

     

我有一个闭源框架,它的全局有一个bug   变量ctors。如果我的修复代码可以在之前执行,我可以修复该错误   全球变量ctors。

1 个答案:

答案 0 :(得分:1)

如何?你打算挂钩mainCRTStartup()?在这种情况下,您可以运行代码并从钩子调用mainCRTStartup()。 (抱歉,还不能发表评论)