天天看點

ld 連結相關知識

為啥需要. = ALIGN(4) 這個東西呢?
存儲空間讀寫以四個位元組為機關,比較快。
可能 某段資料不是 四位元組結束,那麼下一段資料不能一四位元組開始,那麼可能會影響到資料
是以前面 每段資料前面都加一個   . = ALIGN(4);
比如這樣      
{
  . = 0x30000000;

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

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

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

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

繼續閱讀