- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Microsoft 批准的设置线程名称的方法无法在启用/EHsc 的情况下进行编译。编译器告诉我
C2712:不能在需要对象展开的函数中使用 __try
http://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx
//
// Usage: SetThreadName (-1, "MainThread");
//
typedef struct tagTHREADNAME_INFO
{
DWORD dwType; // must be 0x1000
LPCSTR szName; // pointer to name (in user addr space)
DWORD dwThreadID; // thread ID (-1=caller thread)
DWORD dwFlags; // reserved for future use, must be zero
} THREADNAME_INFO;
void SetThreadName( DWORD dwThreadID, LPCSTR szThreadName)
{
THREADNAME_INFO info;
info.dwType = 0x1000;
info.szName = szThreadName;
info.dwThreadID = dwThreadID;
info.dwFlags = 0;
__try
{
RaiseException( 0x406D1388, 0, sizeof(info)/sizeof(DWORD), (DWORD*)&info );
}
__except(EXCEPTION_CONTINUE_EXECUTION)
{
}
}
知道如何在不更改编译器设置的情况下解决这个问题吗?
在 WinXP 上使用 Visual Studio 2008
最佳答案
通常的解决办法是把它分成两个函数,一个调用另一个。一个设置 SEH __try/__except
block ,另一个包含与 C++ 异常和局部变量的析构函数调用相关的所有内容。
但我没有看到任何需要调用析构函数的类型。
也许这只是一个拼写错误 (except
) vs (__except
)?
关于c++ - 我可以得到一个 "__try"-clause 来编译/EHsc 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144329/
我正在处理遗留代码。 为了修复一些错误,我必须为某些文件提供 EHa。我测试了在构建时将 EHsc 和 EHa 都赋予整个项目。这解决了我的问题,但给出警告说编译器正在用 EHa 覆盖 EH。(选项顺
您能否列出实际差异/含义的项目符号列表?我阅读了相关的 MSDN 文章,但我对异步异常的理解仍然有点模糊。 我正在使用 Boost.Test 编写一个测试套件,我的编译器发出一个警告,提示应该启用 E
Microsoft 批准的设置线程名称的方法无法在启用/EHsc 的情况下进行编译。编译器告诉我 C2712:不能在需要对象展开的函数中使用 __try http://msdn.microsoft.c
如果我在非托管 C++、Visual Studio 2008 或更高版本中创建新项目,我想使用哪种异常处理模型? 我知道/EHa 选项会导致代码效率降低,并且还会捕获 SEH 异常,对吧? 所以我一直
这个问题在这里已经有了答案: How can I switch off exception handling in MSVC? (7 个答案) Can I disable exceptions in
我是一名优秀的程序员,十分优秀!