gpt4 book ai didi

c++ - 内存填充问题

转载 作者:行者123 更新时间:2023-11-28 01:04:41 26 4
gpt4 key购买 nike

我正在处理此应用程序中的示例应用程序,我正在序列化一些数据。在客户端应用程序中,我正在读回序列化数据。在执行此操作时,我观察到一些奇怪的行为。

在示例应用程序中,对象的大小与客户端中的数据大小不同。我认为这是因为内存填充。我的问题是我正在尝试将“BRUSHOBJ”写入文件。此结构由 Microsoft 定义。我可以更改此结构的声明。请让我知道如何解决这个问题。

请告诉我如何对诽谤数据类型应用内存填充。

最佳答案

听起来您只是想将 struct 的地址转换为char*,并在其上使用 ostream::write。这根本行不通。有填充,但也有不同类型的大小(因平台而异),字节顺序,以及更多外来平台(包括大多数大型机)数据表示本身。通常,您需要指定输出数据的外观像,一个字节一个字节,然后你必须用所需值。

这只是针对简单类型。快速浏览 BRUSHOBJ 秀场它包含一个指针,您可能必须跟随——你肯定要用它做点什么,因为接收端将无法使用指向您的指针做任何事情数据。 (我怀疑,根据描述,您必须将其转换转化为某种标识符,并传输字典映射对象的此类标识符。但我不太了解这是怎么回事结构用于确定。)

关于c++ - 内存填充问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6898866/

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