gpt4 book ai didi

c - 安全结构嵌入式系统

转载 作者:太空宇宙 更新时间:2023-11-04 06:08:26 25 4
gpt4 key购买 nike

我有一个来自服务器的数据包,它在嵌入式系统中被解析。我需要以一种非常有效的方式解析它,避免内存问题,例如重叠、破坏我的内存和其他变量。

数据包具有这种结构“字符串 A:字符串 B:字符串 C”。

例如,这里接收到的数据包由使用分隔符“:”分隔的三部分组成,所有这些部分都必须可以从结构中访问。

哪种方法最有效、最安全。

A.- 创建一个结构,其属性(partA、PartB、PartC)的大小基于避免从数据包源超过此大小的标准,并附加一个索引,其中包含每个部分的长度,以避免提取垃圾,这部分长度指标可以小于或等于300(即:B部分)。

typedef struct parsedPacket_struct {
char partA[2];int len_partA;
char partB[300];int len_partB;
char partC[2];int len_partC;
}parsedPacket;

这里的问题是我在浪费内存,因为每个结构都应该将数据包内容复制到每个结构,有没有办法只保存每个部分的基地址并仍然使用 len_partX。

最佳答案

如何将 (:) 替换为 0,并在末尾添加一个 null - 然后您将传递三个 char *。您将需要处理 0 长度的字符串,但这可能会解决它

关于c - 安全结构嵌入式系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265714/

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