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)
{
}
}
惠普鞏固建議:可以通過兩種方式來避免此問題:
包裹在一個try/catch塊調用EnterCriticalSection的()。
調用函數InitializeCriticalSectionAndSpinCount()而不是InitializeCriticalSection()。這預先分配了EnterCriticalSection()使用的事件,而不是強制EnterCriticalSection()分配事件。
你確定它說'try/catch'?我期望'__try/__ catch'。這兩者在意圖上相似,但'try'是C++,'__try'是Windows,'EnterCriticalSection'也是Windows。 – MSalters