首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

将 Linux on x86 应用程序移植到 Linux on Power 的指南(5)

将 Linux on x86 应用程序移植到 Linux on Power 的指南(5)

编译器选项比较下表比较了来自 GCC 和 XL C/C++ 的常用编译器选项。
表 5. 来自 GCC 和 XL C/C++ 的常用编译器选项
GCCXL C/C++描述-v-v、-V、-#打开详细模式。-p/-profile-p设置编译器生成的对象文件,以进行分析。-m32、-m64-q32、-q64,或者设置 OBJECT_MODE 环境变量创建 32 或 64 位对象-fsyntax-only-qsyntaxonly执行语法检查而不生成对象文件。-fpic-qpic=small生成与位置无关的代码,以便在共享库中使用它们。在 XL C/C++ 中,全局偏移表的大小不大于 64 KB。如果指定了 -qpic 而没有任何子选项,则假设使用了 -qpic=small。如果指定了 -qmkshrobj 编译器选项,则会启用 -qpic 选项。-fPIC-qpic=large允许全局偏移表大于 64 KB。-pthread-qthreaded 或 _r invocation 模式创建在多线程环境中运行的程序。-fno-rtti-qnortti禁止生成运行时类型标识 (RTTI) -qrtti 来进行异常处理,并且禁止 typeid 和 dynamic_cast 运算符使用 RTTI。在 XL C/C++ 上,默认选项为 -qnortti。-static-qstaticlink阻止此选项生成的对象与共享库链接。-static-libgcc-qstaticlink=libgcc告诉编译器与 libgcc 的静态版本链接。-shared-qmkshrobj告诉编译器生成一个共享对象。-shared-libgcc-qnostaticlink=libgcc告诉编译器与 libgcc 的共享版本链接。-Wl、-rpath-Wl、-rpath 或 -R传递一个冒号分隔的目录列表,用它来指定一个运行时链接所搜索的目录。-fno-implicit-templates、-frepo-qtempinc、-qtemplateregistry、-qtemplaterecompile实例化模板。-w-w禁止警告消息。
-warn64启用对长整型到整型的截断操作的检查。
-qinfo=< >生成包含信息的消息。-fpack-struct-qalign=bit_packed使用 bit_packed 对齐规则。
-qalign=linuxppc使用默认 GCC 对齐规则保持与 GCC 对象的兼容性。这是默认设置。-O、-O2、-O3-O、-O2、-O3、-O4、-O5用于设置优化级别。Ofast、Og
Ofast – 提供速度优化,不完全符合标准
Og – 提供优化,但允许在需要时执行一些有效的调试。-mcpu、-mtune-qarch、-qtune、-qcache用于设置一个特定处理器的优化选项。
返回列表