-qkeepinlines(仅限 C++)
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qkeepinlines | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
保留或废弃未引用的 extern 内联函数的定义。
当 -qnokeepinlines 生效时,编译器将废弃未引用的外部内联函数的定义。 当 -qkeepinlines 生效时,编译器将保留未引用的外部内联函数的定义。
语法
缺省值
-qnokeepinlines
参数
- exports
- 确保编译器不会废弃导出列表中的内联函数。
使用量
-qnokeepinlines 减小对象文件的大小。 -qkeepinlines 提供了与 v5.0.2.1 更新级别之前的 VisualAge® C++ 编译器相同的行为,从而允许与使用编译器的较早发行版构建的共享库和对象文件兼容。
如果希望编译器保留使用较早版本的编译器构建的符号及其定义的列表,那么可以使用 -qkeepinlines=exports 来确保编译器在直接插入程序函数时不会废弃这些符号及其定义。 但是,如果未指定导出文件,或者导出文件不包含任何符号,那么编译器将生成与 -qnokeepinlines相同的对象文件。
使用 -qkeepinlines=exports 来编译程序时,必须使用 -bE 或 -bexport 选项来指定包含要导出的符号的文件,如以下示例中所示:
xlC -qmkshrobj -qkeepinlines=exports -bE:file_name source_filexlC -qmkshrobj -qkeepinlines=exports -bexport:file_name source_file预定义的宏
无。
相关信息
- -qmkshrobj (-shared)
- 有关创建共享库的信息,请参阅 XL C/C++ Optimization and Programming Guide 中的 Compiling a shared library 部分
