항목 21 : 컴파일 단위 사이의 초기화 의존성을 없애라. ( Avoid initialization dependencies across compilation units. )
{ 왜 일까? 일단 컴파일 단위란 개념과 초기화 의존성이란 개념을 알아야 한다. 컴파일 단위란? 컴파일러가 코드를 컴파일 할 때. 현재 파일만 보는 상태이다. 이런 상태에서 그 파일만 컴파일 하는데, 이렇게 파일 단위로 컴파일하는 것을 컴파일 단위 라 불르고 A 파일과 B 파일이 컴파일 되는 것을 "컴파일 단위 사이" 에 놓여 있다고 할 수 있다. 개념은 이건데, 컴파일러 마다 컴파일 단위가 다르기 때문에, 파일 단위가 컴파일 단위라고 확정 지을 수도 없는 노릇이다. 컴파일러 매뉴얼을 한번도 읽어 본적이 없어서 MSVC가 무엇을 컴파일 단위로 보는지도 모르겠다. ; ) 초기화 의존성이란? A가 초기화 되어야만, B를 정상적으로 초기화 할 수 있을 때, 우리는 B는 A의 초기화에 의존적이다.. 라고 말할 ..
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 2. 23. 10:08
최근댓글