【发布时间】:2012-02-23 22:27:31
【问题描述】:
我正在用两个编译单元编译一个共享库:globals.cpp 和 stuff.cpp。 globals.cpp 文件初始化了stuff.cpp 中使用的一些外部变量。我遇到的问题是stuff.cpp 中的代码在globals.cpp 中的代码有机会为外部变量赋值之前运行。例如,我看到一堆 0 值被使用。这个问题取决于我在哪个平台上编译/运行代码——有些工作,有些不工作。
如何解决这个问题?我可以强制globals.cpp 先运行吗?
【问题讨论】:
-
您正在经历[静态初始化命令惨败][1]。 [1]:stackoverflow.com/questions/3035422/…
-
谢谢,这至少解决了问题。