Gra*_*rak 5 c++ global-variables c++11
我试图弄清楚如何调用全局对象的构造函数.我知道在使用翻译单元的任何内容之前都会调用它们,我对此很好.我试图找出如何在Linux和Windows(x86和x64)中实现这一目标.
我似乎记得Windows(x86)使用链接列表进行构建和销毁,但我无法在此问题上找到任何资源.
我在相关主题上找到了以下材料,但似乎没有任何内容可以涵盖我正在寻找的内容.
和PE文件格式文件.
任何人都可以指出我找到这个信息的正确方向吗?
您认为全局构造函数必须在使用对象之前运行,这是错误的。我已经根据这个假设修复了许多错误,但事实并非如此。不适用于 gcc,不适用于 MSVC,当然不适用于 XCode。
你可以在gcc中指定一个属性((init_priority(X)))来强制执行顺序,
或 #pragma init_seg({ compiler | lib | user | "section-name" [, func-name]} ) for msvc。
使用 XCode 时,初始化代码按照目标文件传递给链接器的顺序运行。
我认为没有一个标准,即使有,也很少有人遵循它。由工具创建者决定如何跟踪初始化的内容和时间。
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |