什麼是進入點(Entry point)

開始執行程式的位址。記錄於 ELF 標頭。在 C 語言中通常不是 main,而是 _start 等啟動程式碼,先進行初始化後再呼叫 main。

日文名稱: エントリポイント

「進入點(Entry point)」出現在1領域的1道練習題中(連結器與載入器與執行檔格式等)。

這個名詞所屬的領域: 連結器與載入器與執行檔格式

練習進入點(Entry point)的題目

關於C語言程式中作業系統最初開始執行的位址(進入點,entry point),下列何者正確?

  1. A一定是main函式的開頭
  2. B固定是執行檔的第一個位元組
  3. C通常不是main,而是_start等啟動用的程式碼,完成初始化後才呼叫main
查看答案與解析

正確答案:C. 通常不是main,而是_start等啟動用的程式碼,完成初始化後才呼叫main

連結器會將C執行期(runtime)所提供的啟動用目的檔(crt1.o等)嵌入程式,並以其中的_start作為入口。_start會從堆疊取出命令列引數,進行標準函式庫與全域物件的初始化後,才呼叫main。main返回後,則使用其回傳值呼叫exit,進行結束處理。

出現「進入點(Entry point)」的題目(1題)

  1. 關於C語言程式中作業系統最初開始執行的位址(進入點,entry point),下列何者正確?

相關名詞

連結器(Linker) 目的檔(Object file) 共享函式庫(Shared library) 名稱修飾(Name mangling) 位置無關程式碼(Position-independent code) 重定位(Relocation) 弱符號(Weak symbol) 記憶體碎裂(Memory fragmentation) 動態連結(Dynamic linking) 動態連結器(Dynamic linker)

前往名詞解釋列表