ここに質問を投稿するのはこれが初めてです。通常はアーカイブで回答を見つけますが、今回は困惑しています。
Windows Driver Kit を使用するベンダーのコードを使用して、ジョイスティックからデータを取得しています。データは 6 つの要素を持つ配列の形式です (これは 6 自由度のマウスです)。
私はすでにデータを取得する必要があるコードを書いていましたが、それは C++ で書かれています...標準ライブラリをベクターなどでよく使用します。WDK で標準ライブラリを使用することは大きな頭痛の種のようで、作業を開始しようとして数日を費やしましたが失敗しました。私の次のアイデアは boost::interprocess を使用することでしたが、これは同じ理由で WDK で使用するのが困難です。
C プロセスと C++ プロセスの間でメモリを共有する方法があるかどうか疑問に思っています。C プログラムを使用して配列をメモリに書き込み、C++ プログラムから読み取りたいと思います。それは非常に速く発生する必要があり、書き込みの途中でそれを読み取らないようにする方法が必要です (ミューテックス?)。
アイデアや提案は大歓迎です。
EDIT 代わりに DLL を作成しましたが、C++ プロジェクトから呼び出すことができる getValues() 関数を持つ DLL ができました。ただし、c のものを非表示にするために pimpl イディオムを使用する必要がありました。助けてくれてありがとう!!