お世話になっております.
今回は異なるプログラミング言語間のやり取りについて質問させていただければと思います.
C++歴は1年と半分ほどです.
では具体的な説明をさせていただきます.
まず,Python,Java,C++のそれぞれで作成したプログラムがあるとします.
3個の独立したプログラムがあると言うことです.
3個のプログラムはそれぞれ独立して動いています.
まず,C++のプログラムに対して"Hello"を入力します.
C++のプログラムはPythonの動いているプログラムに対して,”Hello”を渡します.
Pythonのプログラムは”Hello”+"world"として,javaのプログラムに渡します.
javaのプログラムは"Hello World"+"!!"としたものをファイルに出力します.
上記のことを実現したいと考えています.
おそらくC++から別の言語の関数を呼ぶことはできると思います.
ですが,今回実現したいことは,すでに動作している別の言語のプログラムに対しての入力です.
このようなことを実現するためには,一般的にどのようなことをすればいいのでしょうか?
単語程度でもかまいませんので,お力を貸していただければ幸いです.
よろしくお願いいたします.
異なるプログラミング言語間の受け渡しについて
Re: 異なるプログラミング言語間の受け渡しについて
これは「プロセス間通信」と呼ばれる処理ですね。
「パイプ」または「ソケット」を使うといいと思います。
「パイプ」または「ソケット」を使うといいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 異なるプログラミング言語間の受け渡しについて
実行環境は何ですか? Linux なら、
out.cpp
addWorld.py
addExclamation.java
Windows でも似たようなもんでしょ。
out.cpp
#include <iostream>
int main()
{
char c;
while (std::cin.get(c) && c != '\n') std::cout.put(c);
}
import java.io.*;
class addExclamation {
public static void main(String[] args) throws IOException {
int c;
while (true) {
c = System.in.read();
if (c == -1 || c == '\n') break;
System.out.write(c);
}
System.out.println("!!");
}
}
Re: 異なるプログラミング言語間の受け渡しについて
返信が少し遅くなってしまい申し訳ありません。
みけCATさん、かずまさん回答いただきありがとうございます。
パイプとソケットについて調べてみました。
かずまさんに回答いただいたプログラムはパイプを使用されたものだと思います。
このようなことが出来たのですね。
はじめて知りました。
今後はソケットを用いて多言語間でのやり取りが出来るプログラムを作成したいと思います。
みなさんありがとうございました。
みけCATさん、かずまさん回答いただきありがとうございます。
パイプとソケットについて調べてみました。
かずまさんに回答いただいたプログラムはパイプを使用されたものだと思います。
このようなことが出来たのですね。
はじめて知りました。
今後はソケットを用いて多言語間でのやり取りが出来るプログラムを作成したいと思います。
みなさんありがとうございました。