Skylicht Engine
Toggle main menu visibility
Loading...
Searching...
No Matches
Irrlicht
Include
irrpack.h
1
// Copyright (C) 2007-2012 Nikolaus Gebhardt
2
// This file is part of the "Irrlicht Engine".
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5
// include this file right before the data structures to be 1-aligned
6
// and add to each structure the PACK_STRUCT define just like this:
7
// struct mystruct
8
// {
9
// ...
10
// } PACK_STRUCT;
11
// Always include the irrunpack.h file right after the last type declared
12
// like this, and do not put any other types with different alignment
13
// in between!
14
15
// byte-align structures
16
#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__)
17
# pragma warning(disable: 4103)
18
# pragma pack( push, packing )
19
# pragma pack( 1 )
20
# define PACK_STRUCT
21
#elif defined( __DMC__ )
22
# pragma pack( push, 1 )
23
# define PACK_STRUCT
24
#elif defined( __GNUC__ )
25
// Using pragma pack might work with earlier gcc versions already, but
26
// it started to be necessary with gcc 4.7 on mingw unless compiled with -mno-ms-bitfields.
27
// And I found some hints on the web that older gcc versions on the other hand had sometimes
28
// trouble with pragma pack while they worked with __attribute__((packed)).
29
# if (__GNUC__ >= 4 ) && (__GNUC_MINOR__ >= 7)
30
# pragma pack( push, packing )
31
# pragma pack( 1 )
32
# define PACK_STRUCT
33
# else
34
# define PACK_STRUCT __attribute__((packed))
35
#endif
36
#else
37
# error compiler not supported
38
#endif
39
Generated by
1.17.0