gpt4 book ai didi

c++ - 如何将值从 C++ 可执行文件传递到 Rails 应用程序?

转载 作者:行者123 更新时间:2023-11-30 03:36:46 25 4
gpt4 key购买 nike

我有一个从命令行运行 C++ 可执行文件的 Rails 应用程序。我能够将 C++ cout 打印到命令行,但我想将它分配回 Rails Controller 中的变量 output =

这可能吗?

下面是我的 Rails Controller 操作和 C++ .cpp 的简化示例,以帮助解释问题。

Rails Controller :

def get_variable
system("cd ~/workspace/OutputTest/src && ./output.bin")
end

请注意,我已经编译并创建了一个名为 output.bin 的 C++ 可执行文件。

C++ 文件:

#include <iostream>
using namespace std;

int main() {
cout << "Hello world!!!";
return 0;
}

我熟悉 Rails(不一定通过 Rails 从命令行运行文件),但完全是 C++ 的新手。

任何指导将不胜感激。如果我应该完全采用另一种方法,那也会非常有帮助。

我不希望内联执行此操作,因为一旦我可以解决这个初始步骤,我想在 C++ 中做更多的事情。


更新

到目前为止,我想到的最佳解决方案是在 C++ 中将字符串写入 .txt,然后在 Rails 中使用 File.read()。但它感觉不到可扩展性,也无法提供数据结构的灵 active 。

所以我仍然想知道是否有更直接的方法,比如以某种方式将值保存在内存中以供 Rails 访问它。虽然不确定。

最佳答案

也许你已经尝试过了,但是在 ruby​​ 中有一个反引号运算符,它将命令的输出作为字符串返回。

例子:

def system_date
`date`
end
puts system_date #=> "Wed Nov 16 18:59:28 CET 2016"

在你的情况下是

def get_variable
`~/workspace/OutputTest/src/output.bin`
end

关于c++ - 如何将值从 C++ 可执行文件传递到 Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com