15.1.2.17 priority(n)
The priority
attribute can be applied to a variable to
group initializations together. n must be between 1 and 65535, with 1 being the highest
level. All initializations with the same priority are initialized before moving onto the
next priority level. Level 1 variables are initialized first and variables without a
priority level are initialized last. The attribute can also be applied to
void
functions (void
result and argument types);
in this case the function(s) for level n will be executed immediately after all the
initializations for level n are complete.