ZHCUAU3J January 2018 – March 2024
只有当编译器认为在循环或循环嵌套中进行变换有益(这主要与循环迭代计数相关)时,才会自动使用 SE 和 SA。因此,使用 PROB_ITERATE 和 MUST_ITERATE pragma 有助于指导此转换。有关这些 pragma 的详细信息,请参阅节 5.8.23 和节 5.8.30。
此外,如果函数中已使用 SE 或 SA,则编译器不会使用 SE 或 SA。
要逐个函数控制自动 SE 和 SA 的行为,请使用 FUNCTION_OPTIONS pragma。以下 C++ 示例控制 C7100 器件上 pragma 之后函数的自动 SE 和 SA 行为。对于 C 代码,请将函数名称添加为 pragma 的第一个参数。有关 FUNCTION_OPTIONS pragma 的更多信息,请参阅节 5.8.20。
#pragma FUNCTION_OPTIONS("--auto_stream=no_saving --assume_addresses_ok_for_stream")