#pragma pack(push、8)を使用するコードがありますが、どういうわけか効果がないようですが、この問題の原因を特定できません。
たとえば、次のコードを見てください。
#include <windows.h>
#include <stdio.h>
#pragma pack(push, 8)
typedef struct _MY_DATA {
LARGE_INTEGER a;
LARGE_INTEGER b;
ULONG count;
} MY_DATA;
#pragma pack(show)
#pragma pack(pop)
int main()
{
MY_DATA data;
printf("data size:%d\n", sizeof(data));
return 0;
}
これは「データサイズ:24」を返しますが、Visual Studioによって管理されている他のアプリケーションで同じコードを使用すると、「データサイズ:20」が返されます。
だから私はそれがいくつかの設定に関係していると思いますが、理解できませんでした。誰かが私にいくつかのヒントを与えることができれば、私は本当に感謝します。ありがとう。