gpt4 book ai didi

c++ - GCC 的 __attribute__ ((__packed__)) 的 Visual C++ 等效项

转载 作者:IT老高 更新时间:2023-10-28 13:59:35 32 4
gpt4 key购买 nike

对于某些编译器,结构有一个包装说明符,例如::

RealView ARM compiler has "__packed"Gnu C Compiler has "__attribute__ ((__packed__))"Visual C++ has no equivalent, it only has the "#pragma pack(1)"

我需要一些可以放入 struct 定义的东西。

任何信息/黑客/建议? TIA...

最佳答案

您可以为 GNU GCCMSVC 如下定义 PACK:

#ifdef __GNUC__
#define PACK( __Declaration__ ) __Declaration__ __attribute__((__packed__))
#endif

#ifdef _MSC_VER
#define PACK( __Declaration__ ) __pragma( pack(push, 1) ) __Declaration__ __pragma( pack(pop))
#endif

并像这样使用它:

PACK(struct myStruct
{
int a;
int b;
});

关于c++ - GCC 的 __attribute__ ((__packed__)) 的 Visual C++ 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1537964/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com