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;
なぜ彼はそれをしたのですか?!