Skip to content

Instantly share code, notes, and snippets.

@JayXon
Created April 3, 2014 05:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JayXon/9948578 to your computer and use it in GitHub Desktop.
Save JayXon/9948578 to your computer and use it in GitHub Desktop.
#pragma pack test
#include <iostream>
#pragma pack(4)
struct name
{
short a;
char b;
short c;
int d;
short e;
double f;
char g;
};
int main()
{
name ee;
std::cout << sizeof(name) << std::endl;
std::cout << (char *)&ee.b-(char *)&ee.a << std::endl;
std::cout << (char *)&ee.c-(char *)&ee.b << std::endl;
std::cout << (char *)&ee.d-(char *)&ee.c << std::endl;
std::cout << (char *)&ee.e-(char *)&ee.d << std::endl;
std::cout << (char *)&ee.f-(char *)&ee.e << std::endl;
std::cout << (char *)&ee.g-(char *)&ee.f << std::endl;
std::cout << sizeof(name) - ((char *)&ee.g - (char *)&ee.a) << std::endl;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment