画面とRTXコードの連携は、共有メモリーを使用します。
1つのブロックかたまりとして、整数や浮動小数点数の変数を混ぜて定義したいことがあります。バイナリーデータを読むときに変数サイズが気になったので確認を行いました。
サイズ RTX3.7(64bit)環境
bool:1
BOOL:4
BOOLEAN:1
char:1
UCHAR:1
BYTE:1
WORD:2
DWORD:4
short:2
USHORT:2
int:4
double:8
long:4
ULONG:4
HANDLE:8
C++検証コード
/// <summary>
/// [デバック]変数サイズの表示
/// </summary>
/// <returns></returns>
void DispSize()
{
bool b1; RtPrintf("bool:%d\n", sizeof(b1));
BOOL b2; RtPrintf("BOOL:%d\n", sizeof(b2));
BOOLEAN b3; RtPrintf("BOOLEAN:%d\n", sizeof(b3));
char c1; RtPrintf("char:%d\n", sizeof(c1));
UCHAR c2; RtPrintf("UCHAR:%d\n", sizeof(c2));
BYTE d1; RtPrintf("BYTE:%d\n", sizeof(d1));
WORD d2; RtPrintf("WORD:%d\n", sizeof(d2));
DWORD d3; RtPrintf("DWORD:%d\n", sizeof(d3));
short s1; RtPrintf("short:%d\n", sizeof(s1));
short s2; RtPrintf("USHORT:%d\n", sizeof(s2));
int h2; RtPrintf("int:%d\n", sizeof(h2));
double h3; RtPrintf("double:%d\n", sizeof(h3));
long h4; RtPrintf("long:%d\n", sizeof(h4));
ULONG h5; RtPrintf("ULONG:%d\n", sizeof(h5));
HANDLE h8; RtPrintf("HANDLE:%d\n", sizeof(h8));
}
.NETコードのbool変数は4bit使用します。共有メモリで連携する時、RTXはboolではなくBOOLを使用すると連携が楽になります。
コメント