App下載

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

世界頂級(jí)潛水選手 2021-09-08 17:52:02 瀏覽數(shù) (2742)
反饋

管道是一種無(wú)需任何臨時(shí)文件即可將一個(gè)程序的輸出連接到另一個(gè)程序的輸入的方法。

這個(gè)簡(jiǎn)單的測(cè)試包含一個(gè) Java 程序和一個(gè) C++ 程序。Java 程序的輸出用作“wc”命令的輸入,然后輸出供 C++ 程序使用。

Java 程序簡(jiǎn)單地打印一個(gè)字符串。

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

使用javac Main.java編譯程序,生成一個(gè)class文件。

C++ 程序只接受一個(gè)整數(shù),然后輸出到控制臺(tái)。

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

使用命令編譯程序:g++ -oa accept.cpp。使用以下命令更改它對(duì)可執(zhí)行文件的訪問(wèn)權(quán)限:chmod 755 a。

現(xiàn)在使用命令:

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


0 人點(diǎn)贊