【问题标题】:What is the Microsoft equivalent to GCC option init_priority?Microsoft 等效于 GCC 选项 init_priority 是什么?
【发布时间】:2015-08-08 23:34:06
【问题描述】:

在编译和链接 C++ 库或程序时,不能保证静态 C++ 对象在翻译单元之间的初始化顺序。 GCC offers init_priority解决静态存档、共享对象和程序的问题:

init_priority(优先级)

    在标准 C++ 中,保证在命名空间范围内定义的对象
严格按照自己的顺序进行初始化
给定翻译单元中的定义。不保证
跨翻译单元的初始化。但是,GNU C++ 允许
用户可以控制在
中定义的对象的初始化顺序 通过指定 a
具有 init_priority 属性的命名空间范围 相对优先级,当前有界的常量整数表达式
介于 101 和 65535 之间。较低的数字表示较高的
优先级。

(静态存档似乎最棘手,因为它(可能)会被其他人链接)。

Microsoft 提供了什么来控制翻译单元之间静态 C++ 对象的初始化顺序?

【问题讨论】:

    标签: c++ visual-c++ static linker


    【解决方案1】:

    #pragma init_seg 可能是文档中最相似的等价物。

    【讨论】:

    • 感谢您的回答。我没有忘记你。我只是没有时间测试它(如果它有效就接受)。
    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多