【发布时间】:2018-06-11 14:23:32
【问题描述】:
我正在尝试从this code 了解以下演员表
char out_packet_buffer[4500] ;
struct ip6_hdr *iphdr ;
iphdr = (struct ip6_hdr *) &out_packet_buffer[0];
struct iphdr 的成员变量存储在 char 数组 out_packet_buffer 中,我的理解是否正确?稍后在代码中,从不使用 out_packet_buffer。相反,iphdr 被 memcpyied 到一个 uint8_t 内存位置 (ether_frame)。但是 iphdr 不是 uint8_t。
如果有任何指导让我了解这里发生的事情,我将不胜感激。
谢谢
【问题讨论】:
-
我很确定这会破坏严格的别名。
-
@ChristianGibbons 感谢您指出这一点。帮助我编写改进版本的代码。