2つのRaspberry PiをCプログラムと同期させたい。プログラムがPiでのみ動作していればうまくいきますが、開発のために私のPC(デバッグが簡単な場所)を使いたいのですが、timepec構造体を直接バイナリとして送信します。ラズベリーは4bytesをlongとtime_tに使用しています。私のPCはそれぞれ8byteを使用しています...だから彼らは一緒に来ません。longとtime_tのサイズを4bytesに定義する
このCスクリプトの場合のみ、longとtime_tをそれぞれ4byteに設定できますか?
私は長い、短いなどのサイズがシステムによって定義されていることを知っています。
重要:私はスクリプト内で一度だけ定義し、毎回それをuintXXまたはintに変換しないことを望みます。
time_tの代わりにuint32_tを使用しますか? – tilz0R
Cプログラムは「スクリプト」ではありません。通常、基本型のサイズは変更できません。 64ビットのコンパイルではなく32ビットのコンパイルが必要になるかもしれませんが、適切なシリアル化/デシリアライズ操作を構成し、転送されたデータ形式を定義して、ワイヤ転送プロトコルが明確で、プラットフォーム固有ではないようにする必要があります。 –
@ tilz0R timepecはtime_tで定義され、longです。 uint32_tを他のものに使うと何も変わりません!私はそれをuintXXとして両方のvarsを定義する新しいstruct witchにコピーする必要がありますか?これは私がすでに持っていましたが、時間の無駄な解決策を探しています(それほど多くはないが、私はできるだけ少なくしたい) – CordlessWool