IBM XL C/C++ 是否提供init_priority?
Does IBM XL C/C++ provide an init_priority?
我们使用静态初始化顺序来控制C++库中多个对象的构造C++。海湾合作委员会提供init_priority
,Microsoft提供init_seg()
。
我正在寻找与IBM的XL C/C++编译器类似的功能,但我的搜索结果没有显示有用的命中。编译器在 Linux 和 AIX 上运行。显然,Linux 提供了该功能,但我不确定 AIX 运行时支持。
我的第一个问题是,AIX 平台是否支持初始化优先级?
我的第二个问题是,IBM的XL C/C++是否提供了一种通过源代码控制它的方法?
IBM XL C/C++ for Linux V13.1.1 及更高版本确实提供了一种控制初始化优先级的方法,有关如何通过 init_priority
变量属性(类似于 GCC)控制它的更多详细信息,该属性在对象级别分配静态初始化优先级。
IBM XL C/C++ for AIX 不支持init_priority
,但它确实提供了一种方法来控制具有 -qpriority
和 #pragma priority
的同一链接单元中 .o 文件之间全局变量的初始化顺序。有关这些选项的详细信息,请访问知识中心。此外,-qmkshrobj=priority
(知识中心)控制程序启动时共享对象(和 a.out)的初始化顺序(XL AIX 使用此方法,而 XL Linux 使用依赖关系来确定共享对象初始化顺序)。翻译单元中的顺序必须采用声明式顺序,否则您可以获得引用尚未初始化的变量的初始化。
相关文章:
- GCC对可能有效的代码抛出init list生存期警告
- GLEW/GLUT:调用init并创建一个窗口后,取消初始化并重新初始化?
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- 使用 std::ios_base::Init 正确初始化全局变量
- Pybind11: init<> with lambda
- 为什么别名声明不是有效的 init 语句(/simple-declaration)?
- 结构 init:字符**类型的标量初始值设定项两边的大括号
- 为什么基于范围类型的大括号上循环init列表是非法的c++
- 是否可以使用"if constexpr"来声明具有不同类型和init-expr的变量
- Android Studio TextView Init C++
- Pc Lint,如何使用 init() 抑制类的 err 613(可能使用空 ponter)
- 带有定制 GLFW 二进制 /usr/bin/ld 的 Centos 7: /usr/local/lib/libglfw3.a(init.c.o):".text"部分中无法识别的重定位 (0x2a)
- 如何强制调用类的全局实例的析构函数和构造函数(以便"re-init"类实例)
- 当调用时,为什么ranges ::累积的init as std :: Move(init)
- clang tidy pro type member init resharper
- Android NDK 未定义对 'std::ios_base::Init::Init()' 的引用
- 使用 Git init、fetch 和 checkout 克隆 Git 存储库
- QFILE INIT/分配OP问题当对象是类成员时
- 仅第一个元素init为1
- 如何在CPP中声明Array和Init