みなさん、こんにちは:)私は現在、空き時間プロジェクトにpreonを使用していますが、次の問題が発生しました。次のコードで固定長の文字列を読み取ろうとしています。
@Bound int string_size;
@ByteAlign @BoundString(size = "string_size") my_string;
ファイル仕様では可変パディングが想定されているため、次のブロックのオフセットは4の倍数になります。たとえば、string_size = 5の場合、3つのnullバイトが追加されます。最初は@ByteAlignアノテーションがまさにこれを行っていると思っていましたが、ソースコードを調べてみると、そうではないことがわかりました。
私はこのクイックフィックスを作成しようとしました:
@If ("string_size % 4 == 2") @BoundList(size = "2", type = Byte.class) byte[] padding;
残念ながら、Limboは「%」演算子をサポートしていないようです。これを回避する方法はありますか?
(また、最新バージョンはどこで/どのように入手できますか?)よろしくお願いします。