2013-07-26 33 views
6

我遇到了這個代碼片段:「全球主要」在大會

section .text 
    global main ;must be declared for linker (gcc) 

,然後是有這條線之後調用主要功能:

main: ;tell linker entry point 

,但我似乎並沒有做明白什麼global main的意思,並且評論似乎沒有多大幫助...

我使用this site作爲彙編語言編程的參考。

我可以分析main指功能爲主,但我不明白使用global關鍵字...

預先感謝您...

回答

8

global main基本上意味着符號應該對鏈接器可見,因爲其他目標文件將使用它。沒有它,符號main被認爲是它組裝到的目標文件的本地,並且在彙編組件文件之後不會出現。

+0

好吧,主程序就像C(++)的int main()程序中的起點一樣? – tenstar

+0

是不是我們使用全局只是爲了讓所有的目標文件都可見? – tenstar

+0

在這種情況下,是的 - 但'全局'可以用於任何功能。 –