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



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

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

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

问题背景:

我有一个闭源框架,它的全局有一个错误 可变 CTOR。如果我的修复代码可以在 全局可变 CTOR。

怎么做?你打算钩住mainCRTStartup()? 在这种情况下,你可以运行你的代码并从钩子调用mainCRTStartup()。(抱歉,尚无法评论)

相关内容

  • 没有找到相关文章

最新更新