c ++ linker, как связать файл iostream? - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть файл с именем main.cpp, который включает iostream.

Я скомпилировал main.cpp, и он работал без ошибок, поэтому мой вопрос: я скомпилировал main.cpp, и я не связал iostream с main.cpp, так как это могло быть возможно? Или компилятор связал iostream автоматически?

Ответы [ 2 ]

7 голосов
/ 15 февраля 2012

Функции в iostream являются частью стандартной библиотеки C ++, которую обычно не требуется явно связывать.

Если вы используете компилятор, который не является строго компилятором C ++, вам иногда нужно добавить что-то вроде -lstdc++ (по крайней мере, я делаю, если я использую gcc вместо g++).

0 голосов
/ 15 февраля 2012

Библиотека iostream является частью «компилятора» в самом широком смысле этого слова, и если вы вызовете компоновщик через драйвер компилятора C ++ (g++, cl и т. Д.), Он будетавтоматически включается;IDE также обычно организуют автоматическое включение.Если вы вызываете компоновщик напрямую (ld, link и т. Д.), Вам, как правило, придется указывать его явно.То же самое верно, если драйвер компилятора не понимает C ++ (случай gcc).

...