gnuplot 与 iOS

2024-03-16

这里有人有在 iOS 上使用 gnuplot 的经验吗?我想在 iOS 设备上开发一个科学计算应用程序,并想使用 gnuplot 作为绘图引擎。有什么好的教程可以让我开始学习吗?


我有同样的一般问题,快速的谷歌搜索让我找到了以下应用程序,它似乎使用了 gnuplot。

https://apps.apple.com/us/app/icas-workstation-class-scientific/id394637176 https://apps.apple.com/us/app/icas-workstation-class-scientific/id394637176

我顺着线索来到了他们的网站:

http://alsoftiphone.com/iCAS/ http://alsoftiphone.com/iCAS/

我就此联系了他们,如果/当我得到回复时,我会跟进。


响应:

Hello,

正如您恰当地指出的那样,在应用程序中嵌入 gnuplot 时会出现一些复杂情况,特别是如果您打算动态创建和处置它。也就是说,gnuplot(从我使用的 v4.4.0 开始)不会显式释放它分配的一些内存,大概是因为它假设它在退出时会被释放,当它被用作一个独立的应用程序。这当然会导致内存泄漏。类似地,gnuplot 不会显式关闭其输出文件描述符(设置为stdout据我所知)。当主函数退出时,它也不会清除多重绘图模式,这是有问题的,因为下次您在嵌入式情况下调用 gnuplot 时,如果此后调用,某些全局变量将反映多重绘图模式。

对你来说幸运的是,我已经识别了他们,所以你不必像我一样追捕他们。但不幸的是,我没有为我的项目创建库,但以下是您需要对 gnuplot 源代码进行的相关更改。

plot.c第 #615 行,位于 else 块的末尾"if (interactive && term != 0)"的条件块main()函数(您还需要将其更改为适当的入口函数名称):

// Free replot_line
if (replot_line != NULL)
{
    free(replot_line);
    replot_line = NULL;
}

plot.c第 #680 行,在末尾的“return exit_status”之前main()功能:

// Free replot_line if it was allocated
if (replot_line != NULL)
    free(replot_line);

// Clear multiplot mode, if it was active
if (multiplot)
    term_end_multiplot();

// Close current file
if (gpoutfile)
    fclose(gpoutfile);

另一个问题是 gnuplot 被编写为使用 stdin 和 stdout,因此对于我的应用程序,我将它们替换为我自己的适当文件描述符,作为 gnuplot 的接口。这将是特定于实现的,所以我不会列出我自己的特定更改,但您基本上需要查看 gnuplot 源代码中的 stdin 和 stdout 实例,并根据您的需要替换它们。

你也会想要#define NO_GIH in config.h.

除此之外,您可能需要为您的应用程序硬编码适当的 gnuplot 终端类型(我在应用程序中使用了 SVG)。

我希望这有帮助。

此致,

安东尼奥·拉加纳

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

gnuplot 与 iOS 的相关文章

  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • Flutter - 选择 TextFormField 时键盘不显示

    我目前遇到一个问题 当我选择任何一个时 键盘不会出现TextFormFielda 内的小部件Form小部件 这是表单的代码 位于我的内部CreateAccountForm有状态的小部件 import package flutter mate
  • 如何以编程方式设置设备(UI)方向?

    希望屏幕 UI 上的所有内容都能够从横向左向右旋转 反之亦然 我该怎么做呢 这是私人的吗 我知道 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation inte
  • scntool:无法转换文件,失败原因:*** -[__NSSingleObjectArrayI objectAtIndex:]:索引 1 超出范围

    我正在 Xcode 9 3 下开发一个基于 iOS 11 3 SceneKit 的项目 我有几个 dae 文件格式的 3D 模型 每当我构建项目时 其中一个模型不会被复制到最终的 iOS 包中 深入研究错误 我在复制捆绑资源构建阶段收到以下
  • 如何在 iOS 中通过 Twitter API 获取用户电子邮件地址?

    我尝试了多个 SDK 但无法从任何资源获取电子邮件 ID 我努力了FHSTwitterEngine为此目的 但我没有得到解决方案 FHSTwitterEngine twitterEngine FHSTwitterEngine sharedE
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • AFNetworking XML 请求问题

    我在用着AFNetworking 2使用 JSON 响应 它工作正常 现在我必须将其转换为 XML 而不是使用 JSON 因为服务器响应是 XML 格式的 在我搜索之后 我找到了这段代码 但它不起作用 与 Charles 我发现请求是错误的
  • Cordova 2.4.0 或 2.5.0 或 2.6.0 和 requirejs

    Cordova 2 4 0 及更高版本支持 AMD 加载到 javascript 中 我特别希望将 Cordova 2 5 0 与最新版本的 RequireJS backbone jquery jquery mobile 一起使用 我还没有
  • 如何开始复杂级别的跨平台移动应用开发? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • locationOfTouch 和 numberOfTouches

    你好 我有这个识别器 设置为 2 次触摸 但它只返回一个 而不是两个 CGPoint void gestureLoad UIGestureRecognizer recognizer recognizer UITapGestureRecogn
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 会话重新启动后 AVcapture 会话启动缓慢

    我有一个主视图控制器 它连接到具有 avcapturesession 的第二个视图控制器 我第一次从主视图控制器转向捕获会话控制器 大约需要 50 毫秒 使用 仪器 检查 然后我从捕获会话返回到主视图控制器 然后从主控制器返回到 avcap
  • iOS 7 上 Safari 浏览器的用户代理

    我只想在带有 Safari 浏览器的 iPhone 和 iPod 中打开我的网站 对于 Chrome Dolphin 等任何其他浏览器 它不应该打开 但目前我从几乎所有设备获得相同的用户代理 对于Safari User Agent Stri
  • ReactiveCocoa 将 SignalProducers 合二为一

    我正在使用 ReactiveCocoa 并且我有几个 SignalProducers let center NSNotificationCenter defaultCenter let signalProducer1 center rac
  • 调整 UIImage 的大小而不将其完全加载到内存中?

    我正在开发一个应用程序 用户可以在其中尝试加载非常非常大的图像 这些图像首先在表格视图中显示为缩略图 我的原始代码会在大图像上崩溃 因此我重写它以首先将图像直接下载到磁盘 是否有一种已知的方法可以调整磁盘上图像的大小 而无需通过以下方式将其
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • 模态转场需要点击 2 次而不是 1 次

    我的 UITableView 需要点击 2 次才能显示所选单元格的详细信息页面 一次用于选择 另一次用于显示详细信息视图 我希望有一个 CLI 直接显示所单击单元格的详细视图 我在 UITableViewManager m 中使用此方法的模

随机推荐

  • 在 Windows 7 x86 上安装 Thin 时出现问题

    我在获取时遇到问题thin http code macournoyer com thin 在我的 Windows 7 机器上工作 我已经安装了 eventmachine v0 8 1 gt gem install Thin 忽略依赖项检查
  • 如何将流数据写入Kafka?

    我正在尝试对主题数据进行一些丰富 因此 使用 Spark 结构化流从 Kafka 接收器读回 Kafka val ds spark readStream format kafka option kafka bootstrap servers
  • 如何使用 Common Lisp 获得列表的所有可能排列?

    我正在尝试编写一个 Common Lisp 函数 该函数将给出列表的所有可能排列 每个元素仅使用一次 例如 列表 1 2 3 将给出输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 我已经写过一些有用的东西 但它
  • 如何使用 JNA 运行 chrome?

    我写了一些java代码 如何在 Windows 32 位 中使用 JNA 运行 chrome 然后我喜欢了解它的含义 如您所知 FindWindow 是一个简单的解决方案 但如果 chrome 不运行 它就不起作用 查找窗口示例 http
  • 通过一个报告用户运行所有 SSRS 报告,忽略自己的用户域

    我有以下代码 它从 SSRS 服务器返回报告 然后将路径存储到每个单独的列表 允许用户从应用程序内运行它们 下面的工作正常 NetworkCredential serviceCredentials new NetworkCredential
  • Destroy_with_password 始终返回 false

    以现有问题为基础演练如何需要密码才能删除用户帐户 https stackoverflow com questions 39373655 ruby on rails devise require password to delete acco
  • 如何在隐藏“display: none;”时渲染传单地图家长

    在我的页面上显示传单地图时 我遇到奇怪的行为 通常情况下 地图会按预期渲染并且运行良好 但是 我只想在我在 javascript 中检测到的表单中发生错误时才显示地图 所以如果我设置父级 div to display none 并根据需要稍
  • 无法将数据移出互斥体

    考虑下面的代码示例 我有一个向量JoinHandlers我需要它迭代以连接回主线程 但是 这样做后我收到错误error cannot move out of borrowed content let threads Arc new Mute
  • 使用 Internet Explorer 8 进行提示()

    我很难找到解决我的问题的方法 这是一个代码片段 var ans prompt Mot de passe if ans ans null doPostBack Page ans else window location Erreurs Not
  • 如何在 npm 中升级全局包的依赖项

    我已经全局安装了pouchdb server我收到了这条消息graceful fs npm install g pouchdb server npm WARN deprecated email protected cdn cgi l ema
  • 修改 NumPy 数组的特定行/列

    如何修改 NumPy 数组的特定行或列 例如 我有一个 NumPy 数组 如下所示 P array 1 2 3 4 5 6 如何更改第一行的元素 1 2 3 to 7 8 9 所以这样P会变成 P array 7 8 9 4 5 6 同样
  • Java SimpleDateFormat 解析时区,如 America/Los_Angeles

    我想用Java解析以下字符串并将其转换为日期 DTSTART TZID America Los Angeles 20140423T120000 我试过这个 SimpleDateFormat sdf new SimpleDateFormat
  • 用户登录后调用方法

    我想知道用户登录后是否可以调用函数 这是我要调用的代码 point this gt container gt get process points point gt ProcessPoints 1 this gt container 您可以
  • 如何避免单元测试中的浮点舍入错误?

    我正在尝试为一些对单精度浮点数数组进行操作的简单向量数学函数编写单元测试 这些函数使用 SSE 内在函数 并且在 32 位系统上运行测试时出现误报 至少我认为 测试在 64 位上通过 当操作遍历数组时 我积累了越来越多的舍入误差 这是单元测
  • 将最新的各种用户元数据标签添加到用户行

    我有一个 postgres 数据库 其中包含用户表 用户 ID 名字 姓氏 和用户元数据表 用户 ID 代码 内容 创建日期时间 我通过代码将每个用户的各种信息存储在用户元数据表中 并保留完整的历史记录 例如 一个用户 userid 15
  • 自定义 MapView 抛出 NoSuchMethodException,但它就在那里!

    我正在尝试实现自定义 MapView 在我的 MapActivity 名为 mainmap 中 我有一个扩展 MapView 的内部类 private class Lmapview extends MapView public Lmapvi
  • igraph - 绘制有向网络创建三角形边

    我正在尝试绘制一个有向网络 该网络仅具有细边和箭头 我不断得到看起来是三角形的边缘 我怎样才能得到一条简单的直线和一个箭头 vertice1 lt c a b c vertice2 lt c d e f edge list lt data
  • TCPStream.Read 会阻塞直到收到发送消息中的所有数据吗?

    我编写了一个多线程简单服务器 它使用 clientStream Read message 0 4096 阻塞直到客户端发送消息 然后代码继续处理该消息 到目前为止我只用它来发送短命令 ex login username login 但我担心
  • 将一个范围从一个电子表格复制到另一个电子表格

    我试图将数组的内容从一张工作表 其中数组是通过迭代并推送用户选择的列的选择项来创建的 复制到不同电子表格中的另一张工作表 我遇到了许多关于如何将一个范围从一个电子表格导入到另一个电子表格的问题和答案 但没有一个对我有用 所有问题和答案都返回
  • gnuplot 与 iOS

    这里有人有在 iOS 上使用 gnuplot 的经验吗 我想在 iOS 设备上开发一个科学计算应用程序 并想使用 gnuplot 作为绘图引擎 有什么好的教程可以让我开始学习吗 我有同样的一般问题 快速的谷歌搜索让我找到了以下应用程序 它似