初めて修飾子に出くわしたとき、いくつかのコードを調べていましたがfar
、今ではこれらが使用されていた理由が理解できます。しかし、今日私たちが使用しているメモリ モデルでは、なぜこれらが適切に配置されているのでしょうか? 人々は実際にこれらを実際に使用していますか、それとも過去からの小物としてそこにあるだけですか?
typedef BOOL near *PBOOL;
とを使用することの違いは何でしょうtypedef BOOL far *LPBOOL;
か?
これらの実際の用途はまだありますか? それとも、私は別の方法で見る必要がありますか。
// WinDef.h ~Line 144
#undef FAR
#undef NEAR
#define FAR far
#define NEAR near
#ifndef CONST
#define CONST const
#endif
typedef unsigned long DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BOOL near *PBOOL;
typedef BOOL far *LPBOOL;
typedef BYTE near *PBYTE;
typedef BYTE far *LPBYTE;
typedef int near *PINT;
typedef int far *LPINT;
typedef WORD near *PWORD;
typedef WORD far *LPWORD;
typedef long far *LPLONG;
typedef DWORD near *PDWORD;
typedef DWORD far *LPDWORD;
typedef void far *LPVOID;
typedef CONST void far *LPCVOID;
編集: 最初のコメントも良い点です。 とが何も定義されていない場合far
、これはどういう意味ですか?near
// WinDef.h: Lines 91-91
#define far
#define near