【发布时间】:2015-11-19 10:35:13
【问题描述】:
我正在将在 Linux 上完美运行的代码移植到 windows visual c++。 我在 Linux 中有这段代码:
struct exif_desc
{
uint16_t tag;
uint16_t type;
uint32_t length;
uint32_t value;
}
__attribute__((__packed__));
我在 Windows 上遇到错误:
'__packed__' : undeclared identifier
我想知道是否可以通过使用来修复此错误
#pragma pack(1)
它们之间有什么区别吗?是否有任何语法可以在 Linux 和 Windows 中用于此属性?
【问题讨论】:
-
据我了解,这些应该是相同的。不要忘记在结构末尾使用
#pragma pack()再次重置对齐方式。问题可能与stackoverflow.com/questions/1537964/… 重复
标签: c++ linux windows pragma-pack