동기화 객체인 CRITICAL_SECTION 을 아래와 같이 클래스화 해서 사용하려고 합니다.
class CriticalSection
{
private:
CRITICAL_SECTION* mCrit;
public:
CriticalSection(CRITICAL_SECTION& cs)
{
mCrit = NULL;
mCrit = &cs;
EnterCriticalSection(mCrit);
}
~CriticalSection()
{
LeaveCriticalSection(mCrit);
}
};
클래스를 한 파일에 모아서 사용하면 전역으로 CRITICAL_SECTION 객체를 만들어서
해당 클래스의 객체의 생성자 인자로 넣어주면 되지만
파일 분할의 경우 전역의 범위가 애매모호 해지기 때문에 어떻게 해야할지 잘 모르는 부분이라 질문드립니다.
하나의 글로벌 헤더를 선언해서 static으로 잡아주고 사용할 파일에서 extern 선언을 해줘야 하나요?
아니면 다르게 사용 해야 하는건가요?