iostream
이 포함 된 main.cpp
파일이 있습니다.C++ 링커, iostream 파일을 연결하는 방법?
내가 main.cpp
를 컴파일하고 내 질문은되도록 그것이 오류없이 작동 : 나는 main.cpp
를 컴파일 내가 main.cpp
와 iostream
를 연결하지 않았기 때문에 어떻게 이것이 가능 될 수 있을까? 또는 컴파일러가 iostream
을 자동으로 링크 했습니까?
iostream
이 포함 된 main.cpp
파일이 있습니다.C++ 링커, iostream 파일을 연결하는 방법?
내가 main.cpp
를 컴파일하고 내 질문은되도록 그것이 오류없이 작동 : 나는 main.cpp
를 컴파일 내가 main.cpp
와 iostream
를 연결하지 않았기 때문에 어떻게 이것이 가능 될 수 있을까? 또는 컴파일러가 iostream
을 자동으로 링크 했습니까?
iostream
의 함수는 일반적으로 명시 적으로 연결할 필요가없는 C++ 표준 라이브러리의 일부입니다.
엄격하게 C++ 컴파일러가 아닌 컴파일러를 사용하는 경우 가끔 -lstdc++
과 같은 것을 추가해야합니다 (적어도 g++
대신 gcc
을 사용하면됩니다).
iostream 라이브러리는 단어의 가장 큰 의미에서 “ 컴파일러 ”의 일부이며, 당신이 C++ 컴파일러 드라이버를 통해 링커 (g++
, cl
등)를 호출하면 자동으로됩니다 포함; IDE는 일반적으로 자동으로 포함되도록 조정합니다. 링커를 직접 호출하면 (ld
, link
등) 은 일반적으로 명시 적으로 지정해야합니다. 컴파일러 드라이버가 C++을 인식하지 못하는 경우에도 마찬가지입니다 (gcc
의 경우).
그래서 g ++은 링크 타임 중에 C++ standart 라이브러리를 추가하지 않고 C++ 표준 라이브러리를 포함하는 파일 (예 : iostream)과 항상 연결합니다. – AlexDan
예 : C 컴파일시 libc를 링크 할 필요가 없습니다. 컴파일러가 언어 런타임을 자동으로 연결하지 않는 것은 일반적으로 힘들 것입니다. – Useless