2.1.10. --bss_threshold=num

此选项控制小型全局 ZI 数据项在节中的放置。 小型全局 ZI 数据项 是小于或等于八字节的未初始化数据项。

语法


--bss_threshold=num

其中:

num

是下列值之一:

0

将小型全局 ZI 数据项放在 ZI 数据节中

8

将小型全局 ZI 数据项放在 RW 数据节中。

缺省选项

如果未指定 --bss_threshold 选项,编译器将采用 --bss_threshold=8

用法

在 RVCT 的当前版本中,编译器可在优化时将小型全局 ZI 数据项放置在 RW 数据节中。 在 RVCT 2.0.1 及更低版本中,缺省情况下会将小型全局 ZI 数据项放置在 ZI 数据节中。

使用此选项可模拟 RVCT 2.0.1 及更低版本中与小型全局 ZI 数据项在 ZI 数据节中的放置有关的行为。

Note

选择 --bss_threshold=0 选项时,可指示编译器将所有 小型全局 ZI 数据项放置在 ZI 数据节的当前编译模块中。 若要将特定变量放置在:

  • 某一 ZI 数据节中,请使用 __attribute__((zero_init))

  • 特定的 ZI 数据节中,请组合使用 __attribute((section))____attribute__((zero_init))

示例


int glob1, glob2;  /* ZI (.bss) in RVCT 2.0.1 and earlier */

                   /* RW (.data) in RVCT 2.1 and later */

--bss_threshold=0 编译此代码时,会将 glob1glob2 放置在 ZI 数据节中。

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential