- 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/
我在这里为游戏机器人提供了这个循环,它需要 __try __ except 以防止注入(inject)代码时发生即时崩溃。但是,我收到错误:无法在需要对象展开修复的函数中使用 __try。 我已经查看
您好,再次打扰一下 我正在阅读 Intel 的“Detecting Multiprocessor Topology in IA-32 Architecture”。我正在重新编写示例。但是我在代码中读到
您好,再次打扰一下 我正在阅读 Intel 的“Detecting Multiprocessor Topology in IA-32 Architecture”。我正在重新编写示例。但是我在代码中读到
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 9 年前。 这个问题是由于打字错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在
我有一个在嵌入式 Windows XP 机器上运行的 DX9 应用程序。当让它自动过夜进行浸泡测试时,它会在大约六到八小时后崩溃。在我们的开发中。机 (Win 7) 我们似乎无法重现此问题。我也相当确
我有一个主要用 C 编写的库,它的某些部分应该是线程安全的,并且我使用全局自旋锁来保护代码的关键部分。 现在我的问题是: 我应该从受自旋锁保护的关键部分内部调用用户的一些回调,以防这些回调生成异常,在
我正在处理一个函数和一个子函数,子函数在函数内被调用。两者都有一个 __try .. __except 子句,我想看看函数的一般异常处理,以及子函数的具体异常处理,换句话说: int function
我想知道关于 C++ 的 try/catch/finally block 。我见过这些带有两个下划线的命令,比如 __try。但是 MVSC 2010 项目也可以在没有下划线的情况下运行。那么什么时候
我有使用 3rd 方库的代码。 该库偶尔会引发访问冲突异常。一个基本的 try/catch 没有捕捉到错误,程序会硬崩溃。 我可以使用 __try __except 来捕获错误,记录它,然后优雅地退出
Microsoft 批准的设置线程名称的方法无法在启用/EHsc 的情况下进行编译。编译器告诉我 C2712:不能在需要对象展开的函数中使用 __try http://msdn.microsoft.c
众所周知,Windows SEH 不支持 C++ 异常处理机制。我们不能在单个函数中使用 try 和 __try。这将导致编译器错误: __try { try { MayTh
我正在将使用 VC++ 6.0 编写的软件迁移到 VS 2010/VC++2010。我有一个不能在 Debug模式下编译的项目。我有: LBSC_AppUserInfoList *
我正在尝试使用 VC++ 的 try-except 语句将一些代码移植到 MinGW: bool success = true; __try { //... } __except ((EXCE
我想知道捕获我抛出的异常的更好方法是:它是 __try/__except block 还是 try/catch block ? 我是用 C++ 编写的,该程序只能在 Windows 上使用,所以可移植
我是一名优秀的程序员,十分优秀!