Linux で C++ の UART (Boost::asio を使用したシリアル) によって駆動される OpenGL ソフトウェアを作成しています。
現在、データの受信と処理は完了しており、OpenGL で視覚化する準備ができています。とにかく私の質問は次のとおりです。
UART コールバック関数から OpenGL 描画関数を呼び出すにはどうすればよいですか?
もちろん、次の方法で実行できるはずです。
- IPC(PIPE、ソケット、セマフォ)メソッドのいずれかを使用する
- OpenGL 描画関数またはそのクラスを変数として UART コールバックに渡します
- すべてを 1 つのクラスにまとめる
私は非常に多くの同様のケースに遭遇し、さまざまな方法で実装しました。しかし、私はまだ正しい答えが何であるかを理解できません。
私は個人的に PIPE やファイル IO IPC が好きではありません。残っている唯一のオプションは、ソケット、セマフォ、および私が常に使用している共有メモリです。