私は IAR Embedded Workbench for ARM (ARM7TDMI-S) を使用しており、私の作業の大部分はリトルエンディアン形式を使用して行われています。ただし、次のようなことができることをマニュアルで見ました:
__big_endian int i, j;
これらの 2 つの変数をビッグ エンディアンとして宣言します (アプリの残りの部分はリトル エンディアンとして宣言します)。これは素晴らしい機能のように思えますが、コンパイルしようとすると、常にエラーが発生します。
Error[Pa002]: the type attribute "__big_endian" is not allowed on this declaration.
上記のビッグ エンディアンの行は、マニュアルから直接コピーしたものですが、機能しません。これはコンパイラの優れた機能であり、作業が大幅に楽になります。それを機能させる方法はありますか?
IDE オプションの [C/C++ コンパイラ オプション] タブで、言語適合性を [IAR 拡張を許可する] に設定しています。