【发布时间】:2020-02-14 12:51:23
【问题描述】:
我不想用这个来骚扰你,但我在互联网上的任何地方都找不到关于“位填充”真正是什么的详细解释,也没有任何关于位填充相关线程的答案在 StackOverflow 上。
我还搜索了 ISO 9899-1990,其中提到了“位填充”,但由于我需要它而没有解释。
我在网上找到的唯一关于此的内容是here,其中只对一句话给出了一个荒谬的简短解释,说:
位填充:
位填充是向传输或存储单元添加一个或多个额外位,以使其符合标准大小。
一些来源将位填充识别为bit stuffing 的一种类型。
这至少是某种信息,但对我来说还不够解释。我不太明白这到底是什么意思。它也提到了这个词 "bit stuffing".
当我在 StockOverflow 上查看“padding”的相关标签时,填充被描述为:
在内存结构中插入额外空间以实现地址对齐 - 或 - 框架和 HTML 元素内容之间的额外空间 - 或 - 使用格式化打印命令(如 C 中的 printf)打印值时的额外空格或零*-函数族。
背景:
我经常发现与数据类型相关的术语“位填充”,但不明白它是什么,也不明白它对这些数据的作用。
非常感谢您提供任何基于主题的回答。
【问题讨论】:
-
是“在内存结构中插入额外空间以实现地址对齐”你能问得更具体点吗?我不知道在你已经发布的内容中添加什么
-
I often find the term "bit padding" in relation of data types- 你有例子吗? -
该链接对搜索“位填充”的命中率为零。无论如何,众所周知,该网站充斥着错误信息
-
好吧,我发现他们提到填充位的地方,不过你最好选择不同的来源。 (我真的很犹豫告诉别人在哪里读什么,但这是一个例外)
-
为什么投反对票? OP 清楚地展示了研究工作,对我来说,这似乎是一个有用且清晰的问题,需要投票。否决票是针对没有研究成果的问题,因此不清楚且无用。我错过了什么吗?
标签: c++ c memory memory-management padding