0
#include <windows.h>
int csOpsPrintDataInitialized = 0;
void ObtainOpsPrintDataCritSect()
{
CreateCriticalSectionAsNeccessary();
EnterCriticalSection(&csOpsPrintData);
} // Hp fortify in visual studio 2013 reporting issue: Exception handling.
하지만 try catch를 사용하면 여전히 동일한 문제가보고됩니다.Visual Studio C++에서 try catch를 사용하는 방법?
void ObtainOpsPrintDataCritSect_sol()]
{
try
{
EnterCriticalSection(&csOpsPrintData);
}
catch(char *msg)
{
}
}
HP는이 권고를 강화 :이 문제는 두 가지 방법으로 피할 수 있습니다 :
랩은 try/catch 블록에서 EnterCriticalSection()를 호출합니다.
InitializeCriticalSection() 대신 InitializeCriticalSectionAndSpinCount() 함수를 호출하십시오. 이것은 EnterCriticalSection()이 이벤트를 할당하기보다는 EnterCriticalSection()이 사용하는 이벤트를 미리 할당합니다.
'시도/캐치'가 확실합니까? 나는'__try/__ catch '를 기대한다. 두 개는 의도가 비슷하지만'try'는 C++,'__try'는 Windows,'EnterCriticalSection'은 Windows입니다. – MSalters