链接器脚本

1.段

一个可执行程序通常是由:代码段,数据段,bss段构成的。同样,在用于链接这个程序的链接器脚本中,就会反应这几个段的信息。

2.创建链接器脚本段信息

基本格式

SECTIONS{
        .text :    代码段
        {
        *(.text)
        }

        .data :    数据段
        {
        *(.data)
        }

        .bss :     bss段
        {
        *(.bss)
        }
}

3.设置起始链接地址

SECTIONS{
        . = 0x0;     起始链接地址
        .text :
        {
        *(.text)
        }

        .data :
        {
        *(.data)
        }

        .bss :
        {
        *(.bss)
        }
}

4.对齐设置

SECTIONS{
        . = 0x0;
        
        . = ALIGN(4);     4字节对齐
        .text :
        {
        *(.text)
        }

        . = ALIGN(4);
        .data :
        {
        *(.data)
        }

        . = ALIGN(4);
        .bss :
        {
        *(.bss)
        }

5.使用变量

SECTIONS{
        . = 0x0;

        . = ALIGN(4);
        .text :
        {
        *(.text)
        }

        . = ALIGN(4);
        .data :
        {
        *(.data)
        }

        . = ALIGN(4);
        bss_start = . ;    bss_start赋值为bss当前的起始地址
        .bss :
        {
        *(.bss)
        }
        bss_end = . ;
}

6.设置代码段首文件

SECTIONS{
        . = 0x0;

        . = ALIGN(4);
        .text :
        {
        led.o(.text);  首文件     
        *(.text)
        }

        . = ALIGN(4);
        .data :
        {
        *(.data)
        }

        . = ALIGN(4);
        bss_start = . ;
        .bss :
        {
        *(.bss)
        }
        bss_end = . ;
}

 

posted on 2016-08-08 20:31  LeoSanford  阅读(200)  评论(0)    收藏  举报

levels of contents