在编译和链接C++库或程序时,无法保证转换单元之间静态C++对象的初始化顺序。init_priority用于解决静态归档、共享对象和程序的问题:
init_priority (优先权) 在标准C++中,定义在命名空间范围内的对象保证 第二,要严格按照它们的顺序初始化。 在一个给定的翻译单位中的相似的定义。不作保证 跨翻译单位的基本概念。然而,GNU C++允许 控制对象初始化的顺序。 使用init_priority属性重新分配命名空间范围,通过指定 等量相对优先,一个常数积分表达式当前有界 在101-65535的范围内。较低的数字表示较高 再优先考虑。
(静态存档似乎是最棘手的,因为它(可能)会被其他人链接)。
微软提供了什么来控制转换单元之间静态C++对象的初始化顺序?
发布于 2015-08-10 00:06:40
#pragma init_seg可能是最相似的文档中的等价物。
https://stackoverflow.com/questions/31899585
复制相似问题