快速(以开发人员时间)方式使用 Java 中的大量 C++ 代码

2024-01-06

背景:我们正在设计一个物理应用程序,它将进行大量数据分析,但我们的重点是集成物理电子设备。

基本上我希望能够打电话root http://en.wikipedia.org/wiki/ROOT(这是一个来自CERN的大数据分析库,用C++编写)用Java的C++库编写的库。基本上,使用 Java 中的 ROOT 类的能力(并且不会浪费太多时间来编写 JNI 包装器)对我们来说是一个亮点(如果这很难,我们很可能会使用 Qt)。

我可以想到以下方法

  • JNI - 正如我所说 - 我们不想为每个类编写包装器。 。 。
  • JNA https://github.com/twall/jna/- JNA 不提供 C++ 映射,而只提供 C。
  • SWIG http://www.swig.org/tutorial.html- 我没用过,但听说很难用。

其他可能相关的事情:我们可以访问根源代码,但我们不想更改它。我们希望结果是可移植的。我们希望坚持使用免费图书馆。 正如我所说 - 我们将能够从一开始就使用大部分 ROOT 代码,无需大惊小怪。


编写一个小型 C++ 应用程序,从 stdin 读取输入并将输出写入 stdout。然后从 java 应用程序中运行该进程并从 stdout 读取输出。

这是在没有 JNI 的情况下实现此目的的最佳方法(而且非常容易做到)

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

快速(以开发人员时间)方式使用 Java 中的大量 C++ 代码 的相关文章

随机推荐

  • 如何判断这个内存泄漏是从哪里来的呢?

    如何确定代码中的内存泄漏来自何处 除了我的应用程序中的 main 函数之外 它没有引用任何内容 看来您正在尝试同时使用 NSZombieEnabled 和泄漏 这两种诊断技术不能一起工作 NSZombieEnabled 使所有已释放的对象都
  • 我应该如何在 Perl 中序列化代码引用?

    我希望nstore一个 Perl 哈希值 其中还包含代码引用 按照此perldoc http perldoc perl org Storable html CODE REFERENCEShttp perldoc perl org Stora
  • 为什么二叉搜索树中的查找时间复杂度为 O(log(n))?

    我可以看到 当在 a 中查找值时 如何BST每次将节点与我们要查找的值进行比较时 我们都会留下一半的树 但是我不明白为什么时间复杂度是O log n 所以 我的问题是 如果我们有一个包含 N 个元素的树 为什么查找树并检查特定值是否存在的时
  • 从 PHP 文本中提取 URL

    我有这样的文字 string this is my friend s website http example com I think it is coll 如何将链接提取到另一个变量中 我知道应该特别使用正则表达式preg match 但
  • .NET System.IO.BinaryWriter 写入的原始字节是否可以被其他平台读取?

    背景 我正在手动将大数据块写入二进制文件System IO BinaryWriter 我之所以选择这种方法 是因为与各种其他序列化和反序列化方法相比 它的性能得到了提高 我目前正在使用System IO BinaryReader Quest
  • 如何在 VS Code 中调试 vue js 应用程序?

    我使用创建了新的 vue js 应用程序vue init webpack my test3 在 VS Code v1 7 1 中 我尝试调试此应用程序和默认值launch json程序设置为 configurations type node
  • 如何处理nginx反向代理https到http方案重定向

    我已经将 nginx 设置为托管 jenkins 和其他一些应用程序的 ubuntu 实例上的反向代理 我使用 nginx 根据相对路径路由到各种应用程序 从客户端到 nginx 的所有流量都通过 https 进行 在防火墙后面 nginx
  • 在lisp中如何定义这样的常量?

    在Python中可以做到这一点 EMPTY PAWN KNIGHT BISHOP ROOK QUEEN KING BPAWN range 8 你会如何在 lisp 中做等价的事情 在 Lisp 中 只使用符号会更惯用 通常作为自评估关键字符
  • C# 中的方差规则

    The 方差有效性的精确规则 http blogs msdn com b ericlippert archive 2009 12 03 exact rules for variance validity aspx有点模糊而且不具体 我将列出
  • 扩展第一个容器以输出额外的 div 属性

    我开始将 pelican 与 reStructuredText 一起使用rst页面格式 我有自定义 javascript jQuery 的东西 我想用 div 属性来控制 比如data default tpl basename 具有嵌套内容
  • 上传文件并验证文件扩展名和文件大小 MVC 5

    我使用下面的代码来上传并检查文件扩展名和文件大小 Update 2控制器 public ActionResult Create Bind Include anak ID Pubdate kind title file details lin
  • 具有静态和响应宽度的两列模板

    有时我们需要结合百分比和固定值来计算尺寸 特别是在创建一些响应式布局时 就我而言 我只发现两种方法可以在纯 CSS 中实现所需的效果 Problem 让我们快速看一下这个问题 我们需要创建一个拉伸到页面整个宽度的两列布局 其中一列具有恒定的
  • Javascript:保留窗口对象引用?

    我的 javascript 代码打开一些窗口槽 var win window open 我将 win 引用与所有其他打开的窗口一起存储在一个数组中 一切正常 直到开启器刷新为止 所以我想要实现的是在加载 主 窗口时取回对打开的窗口的所有引用
  • 如何将 future 移至 lambda 表达式

    我正在使用 Visual Studio 2013 我想实现这行代码 f p get future auto task f std move f use f 我知道解决方案here https stackoverflow com questi
  • 使用枚举序数是个好习惯吗?

    我有一个枚举 public enum Persons CHILD PARENT GRANDPARENT 使用有什么问题吗ordinal 检查枚举成员之间的 层次结构 的方法 我的意思是 使用它时除了冗长之外是否有任何缺点 当有人将来可能会意
  • React Native:同步运行函数

    我是面向对象编程的新手 我对承诺 异步 同步运行函数的了解只是基础 我非常感谢您的时间和关注 这是 React Native 文档中的示例 async function getMoviesFromApi try let response a
  • 除以零不会导致 Nvidia Jetson 上的运行时异常

    我不太熟悉 ARM 处理器的内部细节 但我不明白我的 Nvidia Jetson Nano 开发板上的以下行为 C 代码示例 main c include
  • 为什么我的图像背景在 float: left 上消失?

    我想创建一个两端都有图像的导航栏 以使其更加纯净 因此 我创建了下面的 HTML 和 CSS 效果非常好 我的菜单项位于 ul li 列表中 当我设置列表样式以将所有项目放在一行上时 末端的图像消失了 那是怎么回事 我如何解决它 罪魁祸首是
  • iPad UITextField - 使用 contentVerticalAlignment = UIControlContentVerticalAlignmentCenter 调整框架大小时光标未居中

    我正在开发一款通用的 iPhone iPad 应用程序 我根据用户输入调整一些 UITextField 的大小 我还有一些代码来移动 UITextFields 以便它们的位置在调整大小时有意义 这段代码不太短 但基本上可以归结为修改 UIT
  • 快速(以开发人员时间)方式使用 Java 中的大量 C++ 代码

    背景 我们正在设计一个物理应用程序 它将进行大量数据分析 但我们的重点是集成物理电子设备 基本上我希望能够打电话root http en wikipedia org wiki ROOT 这是一个来自CERN的大数据分析库 用C 编写 用Ja