/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에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.
추가 옵션에서 .를 추가합니다
/Zc:tlsGuards
. 확인을 선택하거나 적용을 선택하여 변경 내용을 저장합니다.