목록스레드 (2)
루토's sssssstory
크리티컬 섹션에 관련된 함수 중의 TryEnterCriticalSection은 EnterCriticalSection함수 대신에 사용할 수 있는 함수인데 이 녀석은 Windows NT이상에만 사용할 수 있기 때문에 사용하기 위해서는 다음과 같은 일을 해주어야 한다. 1. #include ; TryEnterCriticalSection은 winbase.h에 선언되어 있다. 2. _WIN32_WINNT Define 두 가지 방법이 있다. 첫번째는 직접 소스코드에 define 해주거나 프로젝트 설정에서 Define해준다. 1) _WIN32_WINNT 은 windows.h를 include하기 전에 define해준다. #ifdef WIN32 #ifndef _WIN32_WINNT #define _WIN32_WINNT ..
'_beginthreadex': identifier not found, even with argument-dependent lookup 크리티컬 섹션에 관련된 함수를 사용할 때 종종 빌드 에러를 만나게 되는데 VS.NET 에서 Win32 Console 프로젝트 기본 생성시에는 Run-time Library가 Single-Thread Debug로 잡혀있기 때문에 _beginthreadex를 찾지 못하여 빌드 에러가 발생한다. 정상적으로 빌드를 하려면 프로젝트의 속성 창을 열어서 'C/C++ - Code Generation' 의 Run-time Library 항목을 Single Thread에서 Multi Thread로 바꾸어 주면 된다.