c++ - 从 Ruby 代码访问以 OCaml 和 C++ 编写的库

标签 c++ ruby ocaml

我正在编写一个 Ruby 程序,我想在其中使用以下库:

LTL3 工具是用 OCaml 编写的,AT&T FSM 库是用 C++ 编写的,LTL2BA 库是用 C++ 编写的。 LTL3 工具依赖于 AT&T FSM 库和 LTL2BA 库。我有所有这些库的可执行文件和源代码。

如何从 Ruby 代码访问所有这些库?对不起,菜鸟问题,这是我在 Ruby 的第一周。顺便说一句,如果有帮助,我正在使用 Linux Ubuntu。

最佳答案

与用不同语言编写的库进行交互的最简单方法是不是找到一个 API 桥使其作为程序的一部分运行,而是让它作为不同的进程运行以您通过管道传输数据(以文本格式,或任何它容易支持的格式)。

从描述来看,L3LTools 似乎用于将某种东西转换成另一种东西,并且它可以以文档化的文本格式读取和打印它们,并且 em> 有一个 shell 脚本包装器可以为您进行管道连接。

您甚至不需要知道它是用哪种语言编写的。只需为其输出格式获取一个解析器,为其输入格式获取一个打印机,然后从您的代码中调用脚本。

关于c++ - 从 Ruby 代码访问以 OCaml 和 C++ 编写的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535149/

相关文章:

c++ - 内存泄漏,如何使用 MS Visual Studio 2012 检测导致内存泄漏的原因?

ruby-on-rails - 行 "get '/patients/:id', 到 : 'patients#show' , 是什么 : 'patient' "do?

ruby - 使用纯 Ruby 脚本将进度上传到 S3

stream - Ocaml:懒惰列表

ocaml - 为什么我的 ocaml 模块未定义?

c++ - 如何在其他核心上运行每个线程?

c++ - 在类中实例化类

c++ - QT 设计器 : opening specific window on action

ruby - 将两个散列与一个公共(public) key 结合起来

ocaml - OPAM软件包未运行