Отправить структуру через UDP без сериализации

Я хотел бы отправить структуру:

typedef struct myStruct
{
int nb_trame;
bool tabBool[20];
} myStruct;

через QUpdSocket.

Я хотел бы не сериализовать его (поэтому, пожалуйста, не отвечайте QDataStream… ^^).

Будет ли это работать? :

myStruct a;
//set a variable
mySocket->writeDatagram( (const char*) &a, sizeof(a), someQHostAddress, somePort);

0

Решение

Из-за заполнения вы не можете просто взять адрес и размер структуры.
Вам также нужно будет предоставить прагму для упаковки.
Это будет расширение компилятора.

Например, в GCC:

typedef struct __attribute__((packed))
{
int nb_trame;
bool tabBool[20];
} myStruct;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]