在VC++和GCC中,main
不是程序的真正入口点;但我们可以通过编译器参数-ENTRY
和-Wl,-eentry
来重置程序的真实入口点。
例如:默认在VC++中mainCRTStartup
真正的入口piont;也就是说,mainCRTStartup
将在main
之前调用。
我的问题是:如果我的程序中有几个全局C++变量,它们是否保证在mainCRTStartup
完成之前不会初始化?
问题背景:
我有一个闭源框架,它的全局有一个错误 可变 CTOR。如果我的修复代码可以在 全局可变 CTOR。
怎么做?你打算钩住mainCRTStartup()? 在这种情况下,你可以运行你的代码并从钩子调用mainCRTStartup()。(抱歉,尚无法评论)