我正在将一个在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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)