-qroconst

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qroconst
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

对象代码控制

等效编译指示

表 2。 两个类别的调用的编译指示等效项
xlc/xlC 和其他遗留的调用命令 xlclang/xlclang + + 调用命令
#pragma 选项 [no] roconst

用途

指定常量值的存储位置。

roconst 生效时,常量将放置在只读存储器中。 当 noroconst 生效时,常量将放置在读/写存储器中。

语法

读取语法图跳过可视语法图 -q roconstnoroconst

缺省值

  • 仅限 C -qroconst 适用于除 cc 及其派生版本之外的所有编译器调用。 -qnoroconst 表示 cc 调用及其导数。
  • 仅限 C + + -qroconst

使用量

在只读内存中放置常量值可以提高运行时性能,保存存储器并提供共享访问权。 但是,尝试修改只读常量值的代码会生成内存错误。

-qroconst 选项上下文中的 "常量" 是指由 const限定的变量,包括 const限定的字符,整数,浮点数,枚举,结构,并集和数组。 以下构造不受此选项影响:
  • 使用 volatile 限定的变量以及包含 volatile 变量的聚集 (例如结构或并集)
  • 包含指针成员的指针和复杂聚集
  • 具有块作用域的自动和静态类型
  • 未初始化的类型
  • 具有 const 限定的所有成员的常规结构
  • 是地址的初始化方法,或强制转换为非地址值的初始化方法

-qroconst 选项不表示 -qro 选项。 如果 指定字符串字面值 (-qro) 和常量值 (-qroconst) 的存储特征,那么必须同时指定这两个选项。

预定义的宏

无。

相关信息