my question refers to the problem mentioned in the title.
I have a simple struct in a header file that looks like this:
typedef struct
{
WORD FileType; // File ID (0x7000)
WORD HeaderSize; // Size of this file header in Bytes
WORD HeaderVersion; // yy.y
ULONG FileSize; // Size of the whole file in Bytes
WORD ImageHeaderSize; // Size of the image header in Bytes
WORD ULX, ULY, BRX, BRY;// bounding rectangle of the image
WORD NrOfFrames; // self explanatory
WORD Correction; // 0 = none, 1 = offset, 2 = gain, 4 = bad pixel, (ored)
double IntegrationTime; // frame time in microseconds
WORD TypeOfNumbers; // short, long integer, float, signed/unsigned, inverted,
// fault map, offset/gain correction data, badpixel correction data
BYTE x[WINRESTSIZE]; // fill up to 68 byte
} WinHeaderType;
If I call sizeof(WinHeaderType) in a C console application I get 68, but if I call the same function with the same parameter in C++/CLI I get 80.
Could someone explain this behaviour to me?
I'm pretty new to C++/CLI, in fact I never worked with it before (started a few days ago), but I need to create a dll for .NET applications.
Since it's my first post I hope I did not break any of the forum rules.
Greez, Mo
[EDIT] It just becomes stranger and stranger ...
First Row: C Console Application Output
Second Row, First Column: C/C++ Console Application I coded to check DataType sizes.
Second Row, Second Column: C++/CLI Console Application I coded to check DataType sizes.
Source of the first application: http://fbe.am/sId
Project Files of the last two applications: http://fbe.am/sIf
Someone an explanaition for this?!