0

uC/OS を勉強していて、この記事を読みました。

マイクロプロセッサが異なれば語長も異なるため、μC/OS-II のポートには、移植性を保証する一連の型定義が含まれています。ポータブルではありません。代わりに、リスト 1.1 に示すように、移植可能で直感的な整数データ型を定義しました。また、便宜上、μC/OS-II は浮動小数点を使用しませんが、浮動小数点データ型を含めました。以下はリスト1.1です

typedef unsigned char BOOLEAN;
typedef unsigned char INT8U;
typedef signed char INT8S;
typedef unsigned int INT16U;
typedef signed int INT16S;
typedef unsigned long INT32U;
typedef signed long INT32S;
typedef float FP32;
typedef double FP64;
#define BYTE INT8S
#define UBYTE INT8U
#define WORD INT16S
#define UWORD INT16U
#define LONG INT32S
#define ULONG INT32U

私の質問は:

1- ライターは、単語の長さ (質問本文の最初の太字の単語) で何を意味していますか?!

2- short int および long データ型が本質的に移植できない理由。

3- はtypedefマイクロプロセッサ指令であり、もしそうならその機能は?!

4-typedef unsigned char (anything)代わりに書いてもいいですかtypedef unsigned char INT8U;

5-なぜ作者はコードtypedef unsigned char INT8U;を書いた#define UBYTE INT8U のに、これを直接使用できないのですかtypedef unsigned char UBYTE;

6-typedef unsigned charそれらの 1 つともう 1 つの二重の使用がtypedef unsigned char INT8U;ありますtypedef unsigned char BOOLEAN;なぜ彼はそれをしたのですか?!

4

1 に答える 1