HDDのような遅いデバイスを使用するのではなく、出来れば動画を転送できるくらいのパフォーマンスがあるのが良いです。
OSは、LinuxとWINDOWSの両方で使用できることが希望です。
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のネットワークプログラミングの本を買うのが正確だと思います。
釣り情報サイト つりなび
↑URLはダミーです。
通常UNIXですと2つのプロセスがデータを共有しようとした場合、共有メモリを使用しますが、Windowsでも動作することを考えるとTCP/IPかUDPで通信するのが最も簡単じゃないでしょうか?
情報ありがとうございます。プロセス間通信以外にも共有メモリを使う方法もあるのですね。アドバイスありがとうございました。
プロセス間でデータの受け渡しをするには、Win32ではファイルマッピング(ディスクは使用しません)という手法があるようです。
Linuxのほうは、このURLの「プロセス制御」が参考になるかと。
system()やexec()はWinのCでも使用できるはずなので、
こちらを参考にすれば、比較的可搬性の高いコーディングが可能かと思います。
いずれにしても、#ifdefは必要かと思いますし、プロセス間の状態(遷移)を確認したり制御したりというのは設計にコツ(苦労?)があり、そこそこの難易度になります。
http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel-6.html
The Linux Kernel: プロセス間通信の仕組み
プロセス間通信の仕組みについて。
詳細な情報をありがとうございます。非常に助かります。教えていただいたURLを見て見ましたが奥が深そうです。しかしがんばって理解したいと思います。アドバイスありがとうございました。
プロセス間通信の実現方法の1つにパイプを使用する方法があるとのこと検討したいと思います。アドバイスありがとうございました。
2つのプログラムが別々のマシンの場合はソケットでの通信で行うのが一般的だと思います。
コードはURLのサンプルを参考にして下さい。
転送速度は回線速度に依存することになると思います。
一般的なLANだと100Mbpsでしょうか。
他には共有メモリを使う手もありますが、LinuxとWindowsでは実装が異なるため両方で同じプログラムを使うことはできません。
http://www.geocities.jp/osaru3220/DMA.htm
IDEハードディスクの転送モード
HDDの転送速度です。
参考にどぞ。
アドバイスありがとうございます。
参考なります。
http://e-words.jp/w/E5908DE5898DE4BB98E3818DE38391E382A4E38397.h...
名前付きパイプとは 【named pipe】 ─ 意味・解説 : IT用語辞典 e-Words
http://www.ncad.co.jp/~komata/c-kouza12.htm
�R���s���[�^�[�FC�����u���FFIFO�i���O�t���p�C�v�j�ɂ���
パイプを使ってはどうでしょうか。
共有メモリが名前つきパイプであることが分かりました。貴重な情報ありがとうございました。
プロセス間通信というものをはじめて知りました。ネットワークプログラミングの本を買ってみます。アドバイスありがとうございました。