在 Visual Studio 2010 中混合异常处理模型会产生什么后果?

2023-12-27

我有第三方静态库Enable C++ Exceptions set to No (/EH未指定标志)。从启用了 C++ 异常的代码中调用它会产生什么后果(/EHa)?如果从库内部抛出结构化异常,主应用程序提供给 _set_se_translator 的函数是否会被可靠地调用? (我的实验表明它会,但只是想知道这是否是定义的行为)。

混合时还有其他注意事项吗/EH异常处理模型?


Calling into未启用异常的代码不应产生任何问题——这与调用外部 C 函数或类似性质的函数没有什么不同。

Calling from未启用异常的代码(进入启用异常的代码)可能不会在禁用异常的代码中包含正确的堆栈展开语义,这意味着您将破坏该代码的不变量,除非它是专门设计用于处理异常的。 (例如,某些库(例如 ANTLR)在一个块中分配所有内存,并让用户代码立即释放所有内容,允许使用异常而不会泄漏,即使它们本身不使用异常)。

陈雷蒙德 http://blogs.msdn.com/b/oldnewthing/archive/2010/07/30/10044061.aspx有一篇文章详细介绍了 C++ 的异常处理如何在 MSVC++ 上工作。长话短说,它构建在 Windows 的 SEH 之上。因此,它的行为应该类似于在例如中抛出 SEH 异常时发生的情况。 C代码。 (不过,我自己没有验证过)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 2010 中混合异常处理模型会产生什么后果? 的相关文章

  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 如何使用recv()检测客户端是否仍然连接(并且没有挂起)?

    我写了一个多客户端服务器程序C on SuSE Linux 企业服务器 12 3 x86 64 我为每个客户端使用一个线程来接收数据 我的问题是 我使用一个终端来运行服务器 并使用其他几个终端来运行服务器telnet到我的服务器 作为客户端
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 已达到网络 BIOS 命令限制

    我的 ASP Net 应用程序从另一台 Windows 服务器上的共享文件夹获取文件 当请求增加时 我收到以下错误 The network BIOS command limit has been reached 我已按照以下步骤操作微软 K
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 当我“绘制”线条时,如何将点平均分配到 LineRenderer 的宽度曲线?

    我正在使用线条渲染器创建一个 绘图 应用程序 现在我尝试使用线条渲染器上的宽度曲线启用笔压 问题在于 AnimationCurve 的 时间 值 水平轴 从 0 标准化为 1 因此我不能在每次添加位置时都在其末尾添加一个值 除非有一个我不知
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 耐用功能是否适合大量活动?

    我有一个场景 需要计算 500k 活动 都是小算盘 由于限制 我只能同时计算 30 个 想象一下下面的简单示例 FunctionName Crawl public static async Task
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 匿名结构体作为返回类型

    下面的代码编译得很好VC 19 00 23506 http rextester com GMUP11493 标志 Wall WX Za 与VC 19 10 25109 0 标志 Wall WX Za permissive 这可以在以下位置检

随机推荐

  • 使用 OpenXML 将 % 数字格式应用于单元格值

    我想使用开放 XML C 应用 百分比 数字格式 我有数值 3 6 我想在 Excel 中将该数字显示为 3 6 我该如何实现这一目标 WorkbookStylesPart sp workbookPart AddNewPart
  • 在 iOS 10 上无法接收推送通知,但在 iOS 9 及更早版本上可以使用

    我有几个用 Swift 2 2 编写的应用程序 用 Xcode 7 3 编译并在 App Store 上发布 这些应用程序利用推送通知 并且在 iOS 9 3 及更早版本中运行良好 但是 在已升级到 iOS 10 的设备上 我的应用程序不会
  • 如何计算列中数值的数量

    我有一个数据框 我想生成一个汇总统计表 包括三列中每一列的有效数值数量 平均值和标准差 我似乎找不到任何函数来计算 R 中数值的数量 我可以使用 length 来告诉我有多少个值 并且我可以使用 colSums is na x 来计算NA
  • 是否可以将 AIR 3.0 Captive Runtime 应用程序添加到 Mac App Store 中?

    是否可以将 AIR 3 0 Captive Runtime 应用程序添加到 Mac App Store 中 你会怎么做 Here s a link http pigsels com 2012 04 air app store publish
  • 当内存位置的内容更改或被读取时自动中断

    旧的 DEC Tru64 UNIX 调试器有一个功能 称为 监视变量的观察点 可以监视内存位置 或地址范围 的读取或写入活动 并且当它检测到此类活动时会中断程序 以便您可以调查原因 详情请参阅 http h30097 www3 hp com
  • 一个图例,多个图表 Chart JS

    我有两个饼图 数据不同 但标签和背景颜色相同 如何使用 ChartJS 创建独立的图例 没有图表的图例 以便图例同时对应于两个饼图 我尝试创建一个饼图 并将数据数组设置为 0 数组 然而 这会导致生成一个空饼图 占用大量空间 所以这是不行的
  • AIML 聊天机器人响应在不同时间有所不同?

    我在上一篇文章中针对 AIML 机器人提出了一个单独的问题 如何创建一个在一天中不同时间做出响应的机器人 我觉得这会让他看起来更 真实 我无法弄清楚日期和时间显示的实际工作原理 我认为您必须与设置 获取函数一起摆弄它 但这就是我所知道的 我
  • 如何在 getElementById 中使用数组?

    我正在开发一个项目 我需要在其中使用数组值getElementById 在 JavaScript 中 我尝试了各种方法 但代码不起作用 请帮我 我有一个像这样的值数组 var examStateArr examState1 examStat
  • 需要有关 bask awk 的帮助,通过查找文件中的模式来更新 Yaml 文件

    上下文 我对 UNIX 脚本非常陌生 并且bash 我有一个 bash脚本需要一个 yaml以及作为参数传递的虚拟机数组 e g myscript sh my yaml neo1 neo2 neo3 alice1 alice2 alice3
  • 如何在java中根据概率生成随机字母?

    我无法根据概率生成随机字母 例如 字母 J K Q Y Z 出现的概率均为 1 96 对于其他字母也使用类似的过程 具有更高的概率 有人可以告诉我该怎么做吗 具体编辑 我正在编写一个名为 getRandomLetter 的方法 该方法根据概
  • 在 Makefile 中,如何获取 git commit 哈希并将其分配给变量?

    A make all克隆 git 存储库 我想知道提交哈希是什么并将 git 提交哈希分配给稍后可以在 Makefile 中使用的变量 e g all download echo GIT COMMIT download cd buildar
  • Spring Boot中连接多个数据库

    我需要连接到我的项目中的两个数据库 所以我创建了两个配置文件 Configuration EnableTransactionManagement EnableJpaRepositories basePackages com virat we
  • 将数据绑定到 Silverlight 中的通用列表

    给定一个包含两个属性 IdentityType 和 Name 的对象列表 格式如下 IdentityType Name A One A Two A Three B Four B Five C Six 有没有一种方法可以声明式数据绑定 以便手
  • 在模块 jetified-hamcrest-core-1.3.jar 中发现重复的类 org.hamcrest.BaseDescription

    安卓工作室3 6 应用程序 build gradle androidTestImplementation androidx test ext junit 1 1 1 androidTestImplementation com azimola
  • OpenMP 多个线程更新同一数组

    我的程序中有以下代码 我想使用 OpenMP 加速它 for i curr index i lt curr index rx size i 2 int64 t tgt rcvq i int64 t src rcvq i 1 if TEST
  • Eclipse JAVA分离单元测试和集成测试

    我正在升级一个仅包含用 JAVA 编写的集成测试的项目 现在我们要编写单元测试 所以我决定创建 src it java 文件夹来放置所有现有测试 并在 src test java 中编写新的单元测试 我已经使用 surfire 和 buil
  • Alexa 自定义插槽类型:没有意图价值

    我已经将这个问题发布到亚马逊开发者论坛 但没有在那里收到答案 我想 Stackoverflow 从一开始就应该是首选 据我了解 如果我使用自定义槽类型 即使其可能值列表不包含口语单词 口语单词仍会传递给函数 文档说 自定义槽类型并不等同于枚
  • 如何向 ASP.NET 3.5 图表控件添加图例?

    有没有办法向它创建的图表添加图例 我创建了一个折线图 默认情况下它为不同的 y 轴数据创建了不同的颜色 我想要侧面有一个图例 显示哪些数据与哪种线条颜色相匹配 谢谢 您的图表控件只需添加以下行即可使用数据系列名称创建图例 chart Leg
  • 是否可以切换 appengine 应用程序的后端语言?

    我可以测试一下 但我不知道这是否可能 我用后端 python 运行一个 gae 应用程序 如果我想将语言更改为 Go Java 或 PHP 我可以保留我的应用程序和数据 而只部署使用另一个 SDK 和另一种语言而不是我当前选择的完整新版本的
  • 在 Visual Studio 2010 中混合异常处理模型会产生什么后果?

    我有第三方静态库Enable C Exceptions set to No EH未指定标志 从启用了 C 异常的代码中调用它会产生什么后果 EHa 如果从库内部抛出结构化异常 主应用程序提供给 set se translator 的函数是否