RTXの変数サイズ

コーディング

画面と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を使用すると連携が楽になります。

コメント

タイトルとURLをコピーしました