Я хочу отредактировать код smt32 в Visual Studio 17. Были добавлены все пути, которые я настроил и все необходимые, но у меня все еще есть одна проблема:
У меня есть количество структур, которые выглядят следующим образом:
typedef struct __attribute__((packed)) __struct_name
{
uint16_t id;
uint8_t code;
} STRUCT_NAME;
Редактор Visual Studio выделяет __struct_name
и показывает всплывающую подсказку со следующей ошибкой:
expected a ';'
Конечно, в Keil все в порядке.
Пожалуйста,Ваша помощь с ошибкой - что я делаю не так?
::: ОБНОВЛЕНИЕ :::
Спасибо @vlk за ответ!
Код Visual Studio должен быть упакован вдругим способом.
Чтобы проверить упакованные и неупакованные структуры, введите следующий код:
#include <stdio.h>
#include <stdint.h>
typedef struct __tt__
{
uint16_t u16;
uint8_t u8;
} TT;
typedef struct __attribute__((packed)) __pp__
{
uint16_t u16;
uint8_t u8;
} PP;
int main()
{
TT tt;
PP pp;
printf("TT size: %d\n", sizeof(tt));
printf("\nPP size: %d\n", sizeof(pp));
return 0;
}