だから、私は C の学習の 1 時間目です。今夜は C++ にジャンプするかもしれません。
C を使用して、相互に「対話」できる 2 つのコマンド ライン プログラムを作成したいと考えています。頭に浮かんだ最初の考えは、ファイルへの書き込みとポーリングによって 2 つの間で情報を転送することです。ただし、C には、メモリを直接割り当ててアクセスするために必要なすべてのメソッドが用意されていると思います。これは、はるかに高速で賢明な手法です。
誰かが例やアドバイスを提供できますか?
だから、私は C の学習の 1 時間目です。今夜は C++ にジャンプするかもしれません。
C を使用して、相互に「対話」できる 2 つのコマンド ライン プログラムを作成したいと考えています。頭に浮かんだ最初の考えは、ファイルへの書き込みとポーリングによって 2 つの間で情報を転送することです。ただし、C には、メモリを直接割り当ててアクセスするために必要なすべてのメソッドが用意されていると思います。これは、はるかに高速で賢明な手法です。
誰かが例やアドバイスを提供できますか?
あなたが求めているのは共有メモリと呼ばれます。残念ながら、共有メモリはC 言語自体の一部ではなく、オペレーティング システムの機能です。使用しているオペレーティング システムが特定されていないため、Unix SysV 共有メモリ チュートリアルを参照してください。
検討する必要がある技術は「共有メモリ」です。これは OS 固有であり、C 標準ライブラリにはありません。
OSを指定していないので、自分で調査する必要があります。Windows を使用している場合は、このページを確認してください。
共有メモリ セグメントについて言及していると思います。パイプまたはソケットを使用して、2 つのプロセス間で通信することもできます。アプリケーションに応じて、それぞれに利点があります。
これは、プロセス間通信に関する優れたガイドであり、パイプ、ソケットに加えてまさに主題をカバーしています。
UNIX 環境の場合は、shmget() および shmat() を使用して、共有メモリ セグメントを作成およびアタッチできます。どちらのプロセスも、共通の整数キーを使用してセグメントを評価します。