我有一個名爲main.cpp
的文件,其中包括iostream
。C++鏈接器,如何鏈接iostream文件?
我編譯main.cpp
和它的工作沒有錯誤,所以我的問題是:我編譯main.cpp
,我沒有與main.cpp
鏈接iostream
,所以怎麼會這樣可能嗎?或者編譯器自動鏈接iostream
?
我有一個名爲main.cpp
的文件,其中包括iostream
。C++鏈接器,如何鏈接iostream文件?
我編譯main.cpp
和它的工作沒有錯誤,所以我的問題是:我編譯main.cpp
,我沒有與main.cpp
鏈接iostream
,所以怎麼會這樣可能嗎?或者編譯器自動鏈接iostream
?
iostream
中的函數是C++標準庫的一部分,您通常不需要顯式鏈接。
如果您使用的編譯器不是嚴格意義上的C++編譯器,您有時需要添加類似-lstdc++
(至少,如果我使用gcc
而不是g++
)。
iostream庫是「編譯」的一部分,在這個詞的 最大的意義,如果你調用通過C++ 編譯器驅動程序的連接,(g++
,cl
等),它會自動包括在內; IDE通常也會自動包含它。如果 您直接調用鏈接器(ld
,link
等),那麼您通常必須明確指定它。如果 編譯器驅動程序不理解C++(gcc
的情況),也是如此。
so g ++總是鏈接C++標準庫與containt(例如iostream)的文件,而不需要在鏈接時添加C++標準庫? – AlexDan 2012-02-15 14:11:43
是的:編譯C時不需要鏈接libc。編譯器不自動鏈接語言運行時會非常痛苦。 – Useless 2012-02-15 14:17:21