|
제가 알기로는 a.cpp같은데서 b.cpp에 바디가 있는 함수를 호출하기 위해서 사용하는것으로 알고 있고,
헬프에도 그렇게 나와있는것 같습니다. (TurboC++, VC7둘다)
그런데 TurboC++과 VC7의 stdio.h나 conio.h같은 헤더를 뒤져보면
외부로 노출하는 함수에 extern을 하나도 붙이지 않고 있네요.. (C++인 경우는 extern "C"지만 C인 경우는 안붙네요..)
오랫동안 extern을 당연히 붙이는것으로 알고 코딩하고 있었는데
다른분의 코드를 리뷰하다가 안 붙이는걸 보고 궁금해서 찾다가 답을 못찾아서 질문 올립니다
함수 선언시에 extern function(); 과 function(); 의 차이점과 컴파일러/링커의 구현까지 어떻게 되는지 알고 싶습니다.
|