Tag: 打包

C / C ++将signed char打包成int

我需要将四个带符号的字节打包成32位整数类型。 这就是我的目标: int32_t byte(int8_t c) { return (unsigned char)c; } int pack(char c0, char c1, …) { return byte(c0) | byte(c1) << 8 | …; } 这是一个很好的解决方案? 它是便携式的(不是通信意义上的)吗? 有没有现成的解决方案,也许是提升? 问题我最关心的是将负位从char转换为int时的位顺序。 我不知道应该是什么样的正确行为。 谢谢

什么是C中的“打包”结构?

我将为Microchip C30编译器编写一些C代码,我经常看到如下定义的结构: typedef struct __attribute__((__packed__)) { IP_ADDR MyIPAddr; // IP address IP_ADDR MyMask; // Subnet mask IP_ADDR MyGateway; // Default Gateway // etc… } APP_CONFIG; 包装是什么意思?