用于 Java 和 C++ 程序之间通信的 Linux 管道

2021-09-08 17:52:02 浏览数 (2973)

管道是一种无需任何临时文件即可将一个程序的输出连接到另一个程序的输入的方法。

这个简单的测试包含一个 Java 程序和一个 C++ 程序。Java 程序的输出用作“wc”命令的输入,然后输出供 C++ 程序使用。

Java 程序简单地打印一个字符串。

 public class Main {
    public static void main(String args[]){
        System.out.println("result from Java program.");
    }
}

使用javac Main.java编译程序,生成一个class文件。

C++ 程序只接受一个整数,然后输出到控制台。

#include <iostream>
using namespace std;
int main(void)
{
  int number;
  cin >> number;
 
  cout << "Your number is " << number << "\n";
  return 0;
}

使用命令编译程序:g++ -oa accept.cpp。使用以下命令更改它对可执行文件的访问权限:chmod 755 a。

现在使用命令:

~/linuxPractice/java> java Main | wc -l | ./a
Your number is 1