\hypertarget{a00803}{}\doxysection{AAX\+\_\+\+Push4\+Byte\+Struct\+Alignment.\+h File Reference}
\label{a00803}\index{AAX\_Push4ByteStructAlignment.h@{AAX\_Push4ByteStructAlignment.h}}


\doxysubsection{Description}
Set the struct alignment to 4-\/byte. 

When setting the alignment for a struct in order to match a particular environment (e.\+g. host/plug-\/in binary compatibility) the following macros are recommended\+: \begin{DoxyItemize}
\item \mbox{\hyperlink{a00533_acbef7ed7d077bc9812cb56417e1ad325}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+HOST}} \item \mbox{\hyperlink{a00533_a8fbeac3c5db5ac694e85a021ed74dc9e}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+ALG}} \item \mbox{\hyperlink{a00533_a8aaaefcc3d87025e84d5ccb99b650a87}{AAX\+\_\+\+ALIGN\+\_\+\+FILE\+\_\+\+RESET}}\end{DoxyItemize}
\hypertarget{a00803_AAX_Push4ByteStructAlignment_usagenotes}{}\doxysubsection{Usage notes}\label{a00803_AAX_Push4ByteStructAlignment_usagenotes}
\begin{DoxyItemize}
\item Always follow an inclusion of this file with a matching inclusion of \mbox{\hyperlink{a00701}{AAX\+\_\+\+Pop\+Struct\+Alignment.\+h}}\end{DoxyItemize}
\begin{DoxyItemize}
\item Do not place other file {\ttfamily \#include} after this file. For example\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{comment}{//\ HeaderFile1.h}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ AAX\_Push4ByteStructAlignment.h}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ HeaderFile2.h\ \ }\textcolor{comment}{//\ this\ file\ now\ has\ 4-\/byte\ alignment\ also!!}}
\DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ HeaderFile1.h\ definitions...}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ AAX\_PopStructAlignment.h}}
\DoxyCodeLine{\textcolor{comment}{//\ end\ HeaderFile1.h}}

\end{DoxyCode}
 This will cause problems if Header\+File2.\+h is included elsewhere without the 4-\/byte alignment which will manifest as hard to find run-\/time bugs. The proper usage is\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{comment}{//\ HeaderFile1.h}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ HeaderFile2.h}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ AAX\_Push4ByteStructAlignment.h}}
\DoxyCodeLine{\ \ \ \ \ \ \ \ \textcolor{comment}{//\ HeaderFile1.h\ definitions...}}
\DoxyCodeLine{\textcolor{preprocessor}{\ \ \ \ \#include\ AAX\_PopStructAlignment.h}}
\DoxyCodeLine{\textcolor{comment}{//\ end\ HeaderFile1.h}}

\end{DoxyCode}
\end{DoxyItemize}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{a00410}{AAX\+\_\+\+Push2\+Byte\+Struct\+Alignment.\+h}} 

\mbox{\hyperlink{a00452}{AAX\+\_\+\+Push8\+Byte\+Struct\+Alignment.\+h}} 

\mbox{\hyperlink{a00701}{AAX\+\_\+\+Pop\+Struct\+Alignment.\+h}} 
\end{DoxySeeAlso}
