다음을 통해 공유


/Zc:tlsGuards (TLS 초기화 확인)

/Zc:tlsGuards 컴파일러 옵션은 DLL에서 TLS(스레드 로컬 스토리지) 초기화에 대한 런타임 검사를 생성합니다.

구문

/Zc:tlsGuards[-]

설명

/Zc:tlsGuards 컴파일러 옵션을 사용하면 DLL에서 스레드-로컬 변수의 초기화를 검사할 수 있습니다. 이전에는 DLL의 스레드 지역 변수가 올바르게 초기화되지 않았습니다. DLL을 로드한 스레드를 제외하고 DLL을 로드하기 전에 존재했던 스레드에서 처음 사용하기 전에 초기화되지 않았습니다. 이 /Zc:tlsGuards 옵션은 이 결함을 수정하는 코드를 사용하도록 설정합니다. 이러한 DLL의 스레드 지역 변수가 해당 스레드에서 처음으로 사용되기 전에 즉시 초기화됩니다.

Visual /Zc:tlsGuards Studio 2019 버전 16.5의 새로운 옵션입니다. 이 옵션은 기본적으로 모든 컴파일러 모드에서 설정됩니다. 컴파일러 옵션을 사용하여 스레드-로컬 변수 사용에 대한 초기화 테스트의 새로운 동작을 /Zc:tlsGuards- 사용하지 않도록 설정할 수 있습니다. 특정 스레드 지역 변수에 대한 검사를 사용하지 않도록 설정하려면 특성을 사용합니다 [[msvc::no_tls_guard]] .

Visual Studio에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션에서 .를 추가합니다/Zc:tlsGuards. 확인을 선택하거나 적용을 선택하여 변경 내용을 저장합니다.

참고 항목

/Zc(규칙)\