对象代码控制
这些选项会影响编译器生成的对象代码、预处理代码或其他输出的特征。
| 选项名称 | 等效编译指示名称 | 描述 |
|---|---|---|
| -q32, -q64 (-m32, -m64) | 无。 | 选择 32 位或 64 位编译器方式。 |
| -qalloca 和 -ma(仅限 C) | #pragma alloca 无 |
当从不包含 |
-qconcurrentupdate(仅限C语言) |
无。 | 支持在内核运行期间更新操作系统。 |
| -qeh (-fexceptions)(仅限 C++) | 无。 |
|
| -qexpfile | 无。 | 与 -qmkshrobj 或 -G 选项一起使用时,会将所有导出的符号保存在指定的文件中。 |
| -qfuncsect | #pragma选项 funcsect 没有。 |
将每个函数的指示信息放在单独的 对象文件控制部分或 CSECT中。 将每个函数放在它自己的 部分或 CSECT 中可能会减小程序的大小,因为链接程序可以收集每个函数而不是每个对象文件的垃圾。 |
| -qinlglue | #pragma选项 inlglue 没有。 |
与 -O2 或更高级别的优化一起使用时,内联粘接代码以优化应用程序中的外部函数调用。 |
| -qkeepinlines(仅限 C++) | 无。 | 保留或废弃未引用的 |
| -qpic (-fPIC) | 无。 | 生成独立于位置的代码 适合 以在共享库中使用。 |
-qppline |
无。 | 与 -E 或 -P 选项一起使用时,启用或禁用生成 |
| -qpriority(仅限 C++) | #pragma选项优先级,#pragma优先级 没有。 |
指定静态对象初始化的优先级。 |
-qproto(仅限C语言) |
#pragma 选项 proto | 指定用于将浮点自变量传递到尚未建立原型的函数的链接约定。 |
| -r | 无。 | 生成不可执行的输出文件,用作另一个 ld 命令调用中的输入文件。 此文件可能还包含未解析的符号。 |
| -qreserved_reg | 无。 | 指示在编译期间不能使用指定的寄存器列表,但作为堆栈指针或帧指针使用或以其他某种固定角色使用时除外。 |
| -qro | #pragma选项ro,#pragma字符串 没有。 |
指定字符串字面值的存储类型。 |
| -qroconst | #pragma选项roconst 没有。 |
指定常量值的存储位置。 |
-qroptr |
无。 | 指定常量指针的存储位置。 |
| -qrtti 和 -qnortti (-fno-rtti)(仅限 C++) | 无。 | 生成运行时类型标识 (RTTI) 信息以进行异常处理并供 |
| -s | 无。 | 从输出文件中分离符号表、行号信息和重定位信息。 |
| -qsaveopt | 无。 | 将用于编译源文件的命令行选项、用户配置文件名和这些配置文件中指定的选项、编译期间调用的每个编译器组件的版本和级别以及其他信息都保存到相应的对象文件中。 |
-qstatsym |
无。 | 将用户定义的具有持久存储类的非外部名称(例如,已初始化和未初始化的静态变量)添加到对象文件的符号表中。 |
| -qtbtable | #pragma选项tbtable 没有。 |
控制对象文件中包含的调试追溯信息量。 |
| -qthreaded | 无。 | 向编译器指示它是否必须生成线程安全代码。 |
| -qtls (-ftls-model) | 无。 | 启用 |
| -qunique | 无。 | 为静态构造函数/析构函数文件编译单元生成唯一名称。 |
| -qweakexp | 无。 | 与 -qmkshrobj 或 -G 选项一起使用时,在创建共享对象时生成的导出列表中包括或排除标记为弱的全局符号。 |
-qweaksymbol |
无。 | 启用弱符号的生成。 |
-qxcall |
无。 | 生成相应的代码以用于将编译单元中的静态函数视为外部函数。 |
XL C/C++ 支持以下选项以实现 GCC 兼容性。 有关这些选项的详细信息,请参阅 GNU Compiler Collection 在线文档,网址为 http://gcc.gnu.org/onlinedocs/。 请注意,这些 GCC 选项仅在 IBM® XL C/C++ for AIX® 16.1(由 xlclang/xlclang + +调用) 的基于 Clang 的前端中受支持。
- -fexceptions
- -fno-rtti
- -fpack-struct
- -fPIC, -fno-PIC
- -fshort-enums
- -fshort-wchar
- -ftabstop=width
- -ftls-model
- -m32, -m64
#pragma alloca
无