我想在Visual Studio 17中编辑smt32代码。我添加了我配置的Evry路径和所有需要定义的路径,但我仍有一个问题:
我有很多以这种方式看待的结构:
typedef struct __attribute__((packed)) __struct_name
{
uint16_t id;
uint8_t code;
} STRUCT_NAME;
Visual Studio编辑器突出显示__struct_name
并显示错误工具提示,并显示下一个错误:
expected a ';'
当然,在Keil,一切都还可以。
请你帮忙解决错误 - 我做错了什么?
::: UPDATE :::
感谢@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;
}