2011-06-19 27 views
1

是給定ISA的各種語言對象代碼的共同鏈接器嗎?還是各種語言需要單獨的鏈接器爲底層平臺?我瞭解鏈接器是一個系統軟件,應該對所有人都是通用的嗎?所有語言的常見鏈接

回答

0

首先你需要明白鏈接器鏈接目標代碼。這個目標代碼是機器(通常是操作系統)特定的。有幾種不同的標準目標代碼格式。鏈接器不能鏈接來自不同機器體系結構的目標代碼。即使它可以這樣做,它也不會執行。也就是說,只要編譯器運行在同一臺機器上,有時甚至是相同的操作系統,幾乎總是可以鏈接來自不同語言的目標代碼。例如,如果您使用C創建了一個程序,並且希望將其鏈接到一個Pascal目標文件,通常這會起作用。最流行的目標代碼格式稱爲COFF object code。 COFF代碼幾乎是目標代碼公認的標準格式。使用什麼語言編譯器生成代碼並不重要(只要它來自相同的機器體系結構),大多數鏈接器將理解能夠鏈接COFF文件。