人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C言語に関する質問です。main関数をそれぞれ使用する2つのプログラムがあります。この2つのプログラム間で何とかしてデータのやり取りを行いたいのですが良い方法はないでしょうか。
HDDのような遅いデバイスを使用するのではなく、出来れば動画を転送できるくらいのパフォーマンスがあるのが良いです。
OSは、LinuxとWINDOWSの両方で使用できることが希望です。

●質問者: zaurus04
●カテゴリ:コンピュータ 学習・教育
✍キーワード:C言語 HDD Linux OS Windows
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● masahikokimoto
●20ポイント

http://www.mars.dti.ne.jp/~torao/program/socket/

Hey! Java Programming! //C ?????\?P?b?g//

2つのプロセス間での通信方法についての質問だと推測しますが、正しいでしょうか。

プロセス間通信は言語だけでなくOSによって実装されている方法が異なります。LinuxとWindowsの両方で同じように使える方法でしたら、socketを使ってTCP/IPで通信してしまうのが一番汎用性があるのではないかと思います。

一応URLを挙げますが、おそらくそれぞれのOSのネットワークプログラミングの本を買うのが正確だと思います。

◎質問者からの返答

プロセス間通信というものをはじめて知りました。ネットワークプログラミングの本を買ってみます。アドバイスありがとうございました。


2 ● turinavi
●20ポイント

http://www.turi-navi.com/

釣り情報サイト つりなび

↑URLはダミーです。


通常UNIXですと2つのプロセスがデータを共有しようとした場合、共有メモリを使用しますが、Windowsでも動作することを考えるとTCP/IPかUDPで通信するのが最も簡単じゃないでしょうか?

◎質問者からの返答

情報ありがとうございます。プロセス間通信以外にも共有メモリを使う方法もあるのですね。アドバイスありがとうございました。


3 ● typista
●20ポイント

http://www.galliver.co.jp/writing/vbm_tokushu/32api/

プロセス間でデータの受け渡しをするには、Win32ではファイルマッピング(ディスクは使用しません)という手法があるようです。

http://www.h7.dion.ne.jp/~matsu/feature/c-language/

Linuxのほうは、このURLの「プロセス制御」が参考になるかと。

system()やexec()はWinのCでも使用できるはずなので、

こちらを参考にすれば、比較的可搬性の高いコーディングが可能かと思います。

いずれにしても、#ifdefは必要かと思いますし、プロセス間の状態(遷移)を確認したり制御したりというのは設計にコツ(苦労?)があり、そこそこの難易度になります。


http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-6.html

The Linux Kernel: プロセス間通信の仕組み

プロセス間通信の仕組みについて。

◎質問者からの返答

詳細な情報をありがとうございます。非常に助かります。教えていただいたURLを見て見ましたが奥が深そうです。しかしがんばって理解したいと思います。アドバイスありがとうございました。


4 ● fruitage
●20ポイント

http://www.hatena.ne.jp/

はてな

URLはダミーです。


パイプを使うしかないのでは?

◎質問者からの返答

プロセス間通信の実現方法の1つにパイプを使用する方法があるとのこと検討したいと思います。アドバイスありがとうございました。


5 ● karla
●20ポイント

http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code...

ソケットプログラミング

2つのプログラムが別々のマシンの場合はソケットでの通信で行うのが一般的だと思います。

コードはURLのサンプルを参考にして下さい。

転送速度は回線速度に依存することになると思います。

一般的なLANだと100Mbpsでしょうか。


他には共有メモリを使う手もありますが、LinuxとWindowsでは実装が異なるため両方で同じプログラムを使うことはできません。

http://www.geocities.jp/osaru3220/DMA.htm

IDEハードディスクの転送モード

HDDの転送速度です。

参考にどぞ。

◎質問者からの返答

アドバイスありがとうございます。

参考なります。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ