ZHCUAQ1F july 2015 – april 2023
这些选项专用于 TMS302C6000 工具集。有关更多信息,请参阅参考的章节。节 3.3.12中列出了 TMS320C6000 专用汇编器选项。
C6000 编译器目前仅支持使用ELF目标文件格式和DWARF调试格式的嵌入式应用程序二进制接口 (EABI) ABI。有关 EABI 的详细信息,请参阅《C6000 嵌入式应用程序二进制接口应用报告》(SPRAB89)。如果希望支持传统的COFF ABI,请使用 C6000 v7.4.x 代码生成工具,并参阅 SPRU187 和 SPRU186 以查看相关文档。
--assume_control_regs_read | 告知编译器假设在程序中的某个位置读取 FP 和 SAT 控制位。因此,编译器不会推测可能设置 FP 或 SAT 控制位的指令。有关更多信息,请参阅节 8.6.15。 | |
--advice:performance | 生成编译时优化建议。请参阅节 3.14。 | |
--big_endian | 以大端格式生成代码。默认情况下生成小端代码。 | |
--common={on|off} | 当为on(默认设置)时,未初始化的文件范围变量作为通用符号发出。当为off 时,不会创建通用符号。允许创建通用符号的好处是生成的代码可以删除未使用的变量,否则会增加 .bss 段的大小。(大于 32 字节的未初始化变量通过放置在可以在链接时省略的单独子段中被单独地优化。)如果变量已分配到 .bss 以外的段或具有指定的存储体,则变量不能作为通用符号。 | |
--debug_software_pipeline | 生成详细的软件流水线报告。请参阅节 4.6.2。 | |
--disable_software_pipeline | 关闭软件流水线。请参阅节 4.6.1。 | |
--fp_not_associative | 编译器不会对浮点运算进行重新排序。请参阅节 4.13。 | |
--interrupt_threshold=n | 指定中断阈值 n。该阈值设置了编译器可以禁用中断的最大周期数。请参阅节 3.12。 | |
--mem_model:const=type | 允许创建与--mem_model:data 选项远远无关的常量对象。type 可以是 data、far 或 far_aggregates。请参阅 节 8.1.4.3 | |
--mem_model:data=type | 指定数据访问模型为 type far、far_aggregates 或 near。默认为 far_aggregates。请参阅节 8.1.4.1。 | |
--pending_instantiations=# | 指定在任何给定时间内可能正在进行的模板实例化的数量。使用 0 指定一个不受限制的数字。 | |
--silicon_version=num | 选择目标 CPU 版本。请参阅节 3.3.5。 | |
--speculate_loads=n | 指定推测负载字节计数阈值。允许推测执行具有边界地址的负载。请参阅节 4.6.3.1。 | |
--speculate_unknown_loads | 允许推测执行具有边界地址的负载。 | |
--static_template_instantiation | 根据需要通过解析器对当前文件中的所有模板实体进行实例化。这些实例化也获得了内部(静态)链接。此选项可能会稍微提高编译速度。 | |
--use_const_for_alias_analysis | 使用常量来消除指针的歧义。 | |
--wchar_t={32|16} | 设置 C/C++ 类型 wchar_t 的大小(以位为单位)。默认情况下,编译器生成 16 位 wchar_t。16 位 wchar_t 对象与 32 位 wchar_t 对象不兼容;如果将这两个对象组合在一起,则会产生错误。因为 Linux 使用 32 位扩展字符,指定 --linux 选项时,则意味着 --wchar_t=32。 |