ENDIAN_SWAP32()

Инвертировать порядок байтов непосредственно в 32-битной переменной

Прототип:

#include <gulliver.h>
void ENDIAN_SWAP32( uint32_t *num );

Аргументы:

num
Указатель на число, байты которого инвертируются.

Библиотека:

libc

Описание:

Макрос ENDIAN_SWAP32() инвертирует порядок байтов непосредственно в переменной num.

Примеры:

Инвертировать порядок байтов значения:

#include <stdio.h>
#include <stdlib.h>
#include <gulliver.h>
#include <inttypes.h>
int main( void )
{
uint32_t val = 0xdeadbeef;
ENDIAN_SWAP32( &val );
printf( "val = 0x%08x\n", val );
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out val = 0xefbeadde

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Предостережения:

ENDIAN_SWAP32() является макросом.

Тематические ссылки:

ENDIAN_BE16(), ENDIAN_BE32(), ENDIAN_BE64(), ENDIAN_LE16(), ENDIAN_LE32(), ENDIAN_LE64(), ENDIAN_RET16(), ENDIAN_RET32(), ENDIAN_RET64(), ENDIAN_SWAP16(), ENDIAN_SWAP64(), htonl(), htons(), ntohl(), ntohs(), UNALIGNED_RET16(), UNALIGNED_RET32(), UNALIGNED_RET64(), UNALIGNED_PUT16(), UNALIGNED_PUT32(), UNALIGNED_PUT64()




Предыдущий раздел: Описание API системной библиотеки