@@ -111,30 +111,36 @@ if ( BYTE_ORDER === 'little-endian' ) {
111
111
Macro for an arbitrary constant indicating little-endian byte order.
112
112
113
113
``` c
114
- #if STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN
114
+ #if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN
115
115
116
116
// Do something for little-endian...
117
117
118
118
#endif
119
119
```
120
120
121
+ If compiled on an unrecognized/unsupported platform, the macro is ** not** defined.
122
+
121
123
#### STDLIB_OS_BYTE_ORDER_BIG_ENDIAN
122
124
123
125
Macro for an arbitrary constant indicating big-endian byte order.
124
126
125
127
``` c
126
- #if STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_BIG_ENDIAN
128
+ #if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_BIG_ENDIAN
127
129
128
130
// Do something for big-endian...
129
131
130
132
#endif
131
133
```
132
134
135
+ If compiled on an unrecognized/unsupported platform, the macro is ** not** defined.
136
+
133
137
#### STDLIB_OS_BYTE_ORDER
134
138
135
139
Macro which equals either ` STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN ` or ` STDLIB_OS_BYTE_ORDER_BIG_ENDIAN ` depending on the resolved platform byte order.
136
140
137
141
``` c
142
+ #if defined(STDLIB_OS_BYTE_ORDER)
143
+
138
144
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN
139
145
140
146
// Do something for little-endian...
@@ -143,9 +149,13 @@ Macro which equals either `STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN` or `STDLIB_OS_BYT
143
149
144
150
// Do something for big-endian...
145
151
152
+ #endif
153
+
146
154
#endif
147
155
```
148
156
157
+ If compiled on an unrecognized/unsupported platform, the macro is ** not** defined.
158
+
149
159
</section >
150
160
151
161
<!-- /.usage -->
@@ -169,13 +179,15 @@ Macro which equals either `STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN` or `STDLIB_OS_BYT
169
179
#include < stdio.h>
170
180
171
181
int main () {
182
+ #if defined(STDLIB_OS_BYTE_ORDER)
172
183
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_LITTLE_ENDIAN
173
184
printf ( "Platform is little-endian...\n" );
174
185
#elif STDLIB_OS_BYTE_ORDER == STDLIB_OS_BYTE_ORDER_BIG_ENDIAN
175
186
printf( "Platform is big-endian...\n" );
176
187
#else
177
188
printf( "Platform endianness is either mixed-endian or unknown...\n" )
178
189
#endif
190
+ #endif
179
191
}
180
192
```
181
193
0 commit comments