c++ - 在不同语言的程序之间共享变量的事实标准是什么?

标签 c++ python memory udp buffer

我从未接受过这方面的正式培训,所以我想知道他们在学校教什么(如果有的话)。 假设您有两个用两种不同语言编写的程序:C++ 和 Python 或其他一些组合,并且您想在同一台机器上共享一个不断更新的变量,您会使用什么以及为什么?信息无需保护,但必须同步且可靠。

例如。程序 A 将从硬件设备获取一个值并每 0.1 毫秒更新一次变量 X,我希望能够尽可能频繁地从程序 B 访问这个 X 并获取最新值。程序 A 和 B 是用两种不同的(健壮的)语言编写和编译的。我如何从程序 B 访问 X?假设我有 A 和 B 的源代码,我不想完全重写或移植其中任何一个。

到目前为止,我看到使用的方法包括:

  • 文件缓冲区 - 读取和写入 单个文件(例如 C:\temp.txt)。
  • 创建包装器 - 从 A 到 B 或 B 给A.
  • 内存缓冲区 - 指定一个特定的 内存地址(互斥锁?)。
  • 通过套接字的 UDP 数据包 - 还没有 试过了,但看起来不错。 防火墙?

很抱歉把这个扔在那里,我不知道这个技术的名字,所以我很难搜索。

最佳答案

你可以编写 XML 并使用一些基本的消息队列(如 rabbitMQ)来传递消息

关于c++ - 在不同语言的程序之间共享变量的事实标准是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329573/

相关文章:

c++ - 如何为QPushButton 重新添加按下/单击效果?

c++ - 收到 C2628 错误

c++ - 对 cv::calcOpticalFlow 的 undefined reference

python - Python 中的 MySQL 连接器

python - 添加一个 DataFrame 列以基于另一个列实例进行分组

python - 严格高于原始曲线的平滑算法

memory - Tomcat6不断崩溃

C++ .length() 函数给出错误的结果

c++ - 为什么 bf1 和 bf2 共享一个内存位置,而 bf3 和 bf4 有自己的内存位置?

.net - 内存随机化作为应用程序安全增强?