2.1.110. --split_sections

此选项指示编译器为源文件中的每个函数分别生成一个 ELF 节。

按生成输出节的函数的名称命名输出节,且带有 i. 前缀。

Note

如果要将特定的数据项或结构放在单独的节中,请用 __attribute__((section(...))) 分别对其进行标记。

如果要删除未使用的函数,建议对此选项优先使用链接器反馈优化。 这是因为链接器反馈通过避免产生拆分所有节的开销,可生成较短的代码。

限制

此选项降低了在函数之间共享地址、数据和字符串的可能性。 因此,可能会使某些函数的代码大小略有增加。

示例


int f(int x)

{

    return x+1;

}

--split_sections 编译此代码会生成以下结果:


        AREA ||i.f||, CODE, READONLY, ALIGN=2

f PROC

        ADD      r0,r0,#1

        BX       lr

        ENDP

另请参阅

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