在 MathLink 函数中检查中止?

2024-03-25

我刚刚发现这样的MathLink功能为LinkWrite and LinkRead有类似其内部的东西CheckAbort吸收任何中止,并且不会进一步传播它们。

这可以很容易地显示为LinkRead:

link = LinkLaunch[First[$CommandLine] <> " -mathlink"];
LinkRead[link];
LinkWrite[link, Unevaluated[Pause[10]]];
{LinkRead[link], Print["!!"]}

After evaluating the above code press Alt+. and you will get the following output:

During evaluation of In[6]:= !!
Out[9]= {ReturnPacket[$Aborted], Null}

正如你所看到的,中止被吸收了LinkRead.

我的问题是它打破了我自己的基于评估的流程控制CheckAbort.

有没有办法拦截由此类函数吸收的中止LinkRead and LinkWrite?


MathLink 的工作方式,LinkRead如果链接上没有任何内容可读取,则会阻塞。如果您此时尝试中止,则会通过 MathLink 消息通道将中止消息传递到链接的另一端。如果另一端的程序表现良好,它将放弃正在执行的任何操作并发送一个返回值(在许多情况下)$Aborted)。如果您想将中止传播到链接的末尾,以便可以使用以下命令捕获它CheckAbort,您将需要检查返回值并生成另一个中止,例如:

 If[LinkRead[link] == $Aborted, Abort[]]

如果您知道链接的另一端返回,则此方法有效$Aborted万一它被中止。

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

在 MathLink 函数中检查中止? 的相关文章

  • 模式匹配不等式

    我想从不平等的实例中提取论据 以下不起作用 知道为什么以及如何解决它吗 Inequality 1 Less x Less 2 Inequality a c e gt a c e Inequality 1 Less x Less 2 Hold
  • mathematica 可以做一些平面几何绘图吗

    我正在尝试使用计算机来显示一些平面几何图 我不知道什么软件可以做到这一点 也不知道mathematica是否可以轻松地生成这样的图 例如 我有以下情节要展示 给定任何三角形 ABC 设 AD 为平分角 BAC 并与 BC 相交于 D 的线
  • Mathematica 中的空值和非空值测试

    在 Mathematica 中测试某个值是否为 Null 的最佳 最干净 建议的方法是什么 并且不为空 例如 a Null b 0 f n If n Null 1 2 f a f b 结果是 1 If 0 Null 1 2 我本来期望 f
  • C# 中的复杂计算

    最好的 最有效的 工具是什么 NET C 用于计算 积分 偏导数 其他不平凡的数学 人们能否对 Mathematica 和 Matlab 及其集成发表评论C Math NET http www mathdotnet com是一个用 C 编写
  • 将声音导出为 WAV 文件

    我从来没有在 Mma 中过多地使用声音 I have t Sound List Violin SoundNote 6 我怎样才能导出t作为 WAV 文件 当我尝试显而易见的事情时 Export c test wav t I get 在这个旧
  • Mathematica:未评估、延迟、保留、HoldForm、HoldAllComplete、等等

    我对所有旨在以某种方式阻止评估的内置 Mathematica 函数感到困惑 Unevaluated Defer Hold 以及超过六种形式Hold Mathematica 文档只是单独解释每个函数 而没有解释为什么选择其中一个函数 谁能对所
  • 重新定义 Mathematica 中的非交换乘法

    Mathematicas NonCommutativeMultiply 不会简化诸如 a 0 0 a 0 a 1 1 a a or a a a 2 我想重新定义 去做这个 我使用 NCAlgebra 来执行此操作 但我需要 ReplaceR
  • 对函数体评估感到困惑

    我对以下行为感到困惑Function In 1 InlineCellInMessage Function expr DisplayForm Cell BoxData MakeBoxes expr StandardForm Input Hol
  • 设计方法:过载与开关?

    关于封装设计的性能和可扩展性 最好是 重载 函数名称 让 Mathematica 根据模式 条件 测试以及系统对定义的排序方式来确定要使用哪个版本 或者使用 Switch 或类似命令 构建单个函数来直接求值 Mathematica 的表达能
  • 在mathematica中使用Input[]输入数据

    我怎样才能在这段代码中使输入命令对话框中的文本像这样 输入 1 元素 输入 2 元素 For k 1 k n k br Input Enter the i element AppendTo x br 确保您的变量匹配 您可以使用Row来构建
  • Mathematica 8 中函数声明的问题

    这是一个奇怪的结果 在此示例中函数定义为 functionB 有人可以解释一下吗 我想绘制functionB x and functionB Sqrt x 它们一定是不同的 但是这段代码表明functionB x functionB Sqr
  • 在 MathLink 函数中检查中止?

    我刚刚发现这样的MathLink功能为LinkWrite and LinkRead有类似其内部的东西CheckAbort吸收任何中止 并且不会进一步传播它们 这可以很容易地显示为LinkRead link LinkLaunch First
  • 将符号暴露给 $ContextPath

    有多种Internal 有用的上下文函数 例如InheritedBlock https stackoverflow com questions 4198961 what is in your mathematica tool bag 568
  • 为什么即使仅使用一种规则和一种表达式,Replace 和 ReplaceAll 也会给出不同的结果?

    也许有人可以向我解释为什么Replace给出了不同的答案ReplaceAll 即使我使用一条规则 并且我认为我有一种表达方式 根据文档 ReplaceAll looks at each part of expr tries all the
  • Mathematica 什么时候创建新符号?

    再会 我早些时候以为数学在当前符号中创建新符号 Context在转换输入字符串的阶段 即分配给InString 来输入表达式 即分配给In 但一个简单的例子打破了这一解释 In 1 f During evaluation of In 1 I
  • 解决电力塔

    a 2 Power 10 6 10 9 3 Power 4 9 7 5 TwoTower n Nest 2 1 n 最小的是什么n这样TwoTower n gt a This question http www quora com How
  • Mathematica:MathLink 错误消息

    我想我开始理解如何将用 C C 编写的函数链接到数学 我面临的问题是我不知道如何将错误消息从我的 C 包装器发送到 Mathematica 在谷歌搜索后我发现了这个MathLink 教程 http www edenwaith com dev
  • 了解跟踪*

    再会 当试图理解数学使用标准的评估顺序Trace and TraceScan最近开发的命令及其漂亮的视觉表示thread https stackoverflow com questions 5459735 the clearest way
  • 在 Mathematica 中使用图形进行渐变填充

    我如何使用以下内容创建Rectangle in Graphics Using Polygon 你可以 Graphics EdgeForm Black Polygon 0 0 3 0 3 1 0 1 VertexColors gt White
  • 在 Mathematica 中使用 f@expr 和 expr // f 得到不同的结果

    我正在玩Prefix and Postfix运算符 and 分别 我遇到了以下问题 给定以下代码 它们以完全相同的方式进行评估 Hold MatrixPlot Sort data FullForm Hold MatrixPlot Sort

随机推荐

  • 找出长度为 N 的两个字符的所有可能组合

    我有两个角色 例如 a a b b 我需要找到这两个字符的所有可能组合 从而形成长度为 N 的字符串 例如 如果N 3 combinations aab aba baa abb bab bba aaa bbb 某些模块中有此功能吗 iter
  • 覆盖 Django 模型 __init__ 方法

    我的 Django 项目的 Ingredient 模型有一个IntegerField它声明该原料库存是否按重量 单位或窝数进行管理 虽然数据库有它的integervalue 我必须显示它的名称 我认为最好覆盖每个成分并设置其值 而不是覆盖
  • 清理我的 git 分支的开发功能

    我参加 git 聚会有点晚了 我有一个简单的问题 我的主分支上目前正在开发三个功能实验 这些功能可以称为postits auth and uploads 当我做git status在我的主分支上 我得到了 已更改但未更新 中约 10 个条目
  • iOS 14/Xcode 12.0.1 更新后 UIPickerView 渲染不正确

    有人注意到应用程序 UIPickerViews 中的文本渲染不正确 第一个字符被截断吗 我在多个设备上的应用程序的所有 UIPickerViews 中看到了这一点 在大多数情况下 您可以看到第一个字符的几个像素 我尝试过从手机中删除派生数据
  • 许多基于backbone.js 的框架在现实世界中的优点和缺点是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 希望有人可以分享他们对一些最新出现的backbone js 变体的经验 我在几个项目中对主干 下划线 需求有一些很好的经验 我希望下一步朝着复杂
  • 寻找在巨大的 Pandas Dataframe 中对行进行切片的最快方法

    我的程序需要根据一个巨大的 Pandas Dataframe 中的列值获取一行 响应时间至关重要 我使用最常见的方法来做到这一点 例如 df loc df id 500000 Per timeit在我的 Mac 上 对 100 万行的数据帧
  • 我的 @media 查询无法在移动设备上运行

    如果浏览器宽度小于五个图像 包括边距等 我试图允许每行保存五个图像的容器更改其宽度的大小 我添加了以下媒体查询 在台式计算机上浏览时一切正常 将浏览器大小调整为宽度小于 1080 像素 容器更改宽度且内容居中 但是 在移动设备 iPhone
  • extract>> 运算符在 C++ 中到底如何工作

    我是一名计算机科学专业的学生 因此对 C 语言 考虑到这是我使用这种语言的第一个学期 或编码方面没有太多经验 我被分配从文本文件中读取整数 其简单形式如下 19 3 2 9 14 4 5 9 10 3 这让我踏上了更好地理解 I O 操作符
  • 声明式 SQLAlchemy 中的标签字典?

    我正在开发一个相当大的代码库 该代码库已使用sqlalchemy ext declarative 我需要向其中一个类添加一个类似字典的属性 我需要的是一样的这个问题 https stackoverflow com questions 780
  • 在函数中使用设置间隔和获取

    创建一个函数startShowingMessage它有两个参数 一个元素和一个 URL 字符串 该函数将使用setInterval每 1 秒执行以下任务 获取 URL 并将响应文本放入所提供元素的文本内容中 我制作了该函数并且获取有效 但我
  • HTML5 使用什么视频格式以及为什么它与 iPad 上的 Safari 兼容

    HTML5支持哪些视频格式与iPhone iPad兼容 我正在考虑建立一个带有一些教学视频的网站 但现在我很困惑 因为我认为 Apple 移动设备仅支持 Quicktime 它使用 H 264 尽管 HTML5 规范并未将其描述为必须使用
  • 使用 SQLalchemy 读取大文件

    我正在尝试使用 SQLalchemy 读取 200 MB 的 csv 文件 每行大约有 30 列 其中 我使用下面的代码仅使用 8 列 然而 代码运行速度非常慢 有没有办法改善这一点 我想使用地图 列表理解或其他技术 正如你所说 我是一个新
  • 使用 Linq 从 xml 文件读取值

    我在从 xml 文件读取值时遇到问题 这是 xml 文件
  • 如何在此数据上使用 PIVOT:?

    我有一个 SQL Server 表 如下所示 RESOURCE DESCRIPTION VALUE Test A Name Resource A xyz Test A Height 20 Test A Unit ft Test A Loca
  • IntelliJ 15 运行缓慢并占用 1GB 内存

    我刚刚安装了intelliJ IDEA 15但它有点滞后并且使用大量内存 有时 我的 4GB RAM 笔记本电脑上的内存会超过 1GB 以前的版本是intelliJ性能更好 我怎样才能让它更快 我遇到的另一个问题是自动完成和更正 这两个设置
  • RQ - 清空和删除队列

    我在用着RQ http python rq org 我有一个failed排队有数千件物品 还有另一个test我不久前创建的用于测试的队列现在是空的且未使用 我想知道如何删除所有作业failed排队 然后删除test完全排队吗 对于基本问题表
  • 以阻塞程序语言的方式进行异步?

    Sync way 例如 红宝石 con Mysql new localhost rs1 con query select from test01 A rs2 con query select from test02 B rs getResu
  • 适用于 Visual Studio 2013 的 System.Data.SQlite

    System Data SQLite 的当前发行版无法与 Visual Studio 2013 一起使用 除非您部署 VS2012 Update3 发行包 大概 或仅安装 像我一样在测试机器上 完整版本 有谁知道 System Data S
  • jquery如何比较两个日期

    第一个使用 id 的有格式 var checkindate check in text 28 07 2011 然后我使用当前日期 var now new Date 它的格式是 Wed Jul 20 2011 19 09 46 GMT 053
  • 在 MathLink 函数中检查中止?

    我刚刚发现这样的MathLink功能为LinkWrite and LinkRead有类似其内部的东西CheckAbort吸收任何中止 并且不会进一步传播它们 这可以很容易地显示为LinkRead link LinkLaunch First