__attribute __((__ packed__))之间的区别是什么?和#pragma pack(1)

__attribute __((__ packed__))之间的区别是什么?和#pragma pack(1),第1张

概述__attribute __((__ packed__))之间区别是什么? 和#pragma pack(1)

我正在将一个在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中是否有可用于此属性的语法?

为什么在dask中运行.compute()会导致“致命的Python错误:已经跟踪的GC对象”

为什么AssignProcesstoJobObject在XP上失败,出现Access DenIEd错误?

如何判断windows何时处于非活动状态

windows上的共享内存可以通过单独的进程访问(读取和写入)

如何安装和运行在windows机器上的redis服务器(10具体)?

我如何枚举所有可用的无线networking并将其显示在列表框中?

在std :: istream上的windows IStream接口

如何检测驱动器在C#中是否有回收站?

LPtoDPfunction如何工作?

原生CheckedListBox?

__attribute__是GCC扩展,特定于GCC(以及其他试图与GCC兼容的编译器)。

#pragma pack最初是一个Visual C ++编译器的特定扩展。 正如评论者所指出的那样,它已经在GCC中实现了,并且兼容VC ++。

通常你不能在另一个编译器的一个编译器中使用扩展。 例如: __attribute__在Visual C ++编译器中不作为扩展名存在。

总结

以上是内存溢出为你收集整理的__attribute __((__ packed__))之间的区别是什么? 和#pragma pack(1)全部内容,希望文章能够帮你解决__attribute __((__ packed__))之间的区别是什么? 和#pragma pack(1)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1294382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存