memory-alignment 相关问题

内存对齐意味着对象和变量驻留在系统内存中的特定偏移处。

如何正确解析 ELF 可执行文件的 `.note.gnu.property` 部分?

我正在编写一个 ELF 解析器作为业余项目,并且在尝试解析 .note* 部分时遇到了问题。 ELF32 和 ELF64 的文档(可在此处和此处获取,第 42 页和第 13 页

回答 1 投票 0

如何设置全新节的对齐方式

在我的一个软件项目中,在 Linux 上,我需要创建一个特殊的部分,需要填充 40 字节的大结构。然后我想把这个部分当作一个数组。 为此我

回答 1 投票 0

到底什么时候触发“错误[E0793]:对打包字段的引用未对齐”?

我已经在这个问题上用头撞墙有一段时间了。上下文是我正在尝试为 8 位 AVR 处理器构建一个嵌入式 VM,但问题并非特定于 AVR。 她...

回答 1 投票 0

影响类对齐以紧密包装变量

假设这样的结构:A 不受我们控制,但我们可以更改 B 结构: 结构体A { int64_t x; // 8 字节 int32_t y; // 4字节 // 4个填充字节 }; 结构体 B { 一个一个; ...

回答 1 投票 0

在 x86 中使用 `and rsp,-16` 进行堆栈对齐

考虑这个“Hello world”x86 程序: 位 64 全球主要 外部看跌期权 节.文本 主要的: 推送rbp mov rdi,味精 看涨期权 流行的RBP 雷特 部分...

回答 1 投票 0

理解inotify示例中的对齐语句

我正在阅读 inotify 手册页,我很难理解示例中的以下注释 某些系统无法读取整数变量,如果它们不是 正确对齐。在其他方面...

回答 2 投票 0

如何向编译器指示数据已对齐?

考虑到包装了shared_ptr和std::span的代码以实现一些额外的类型安全: 模板 类向量{ 民众: 自动开始() { std::begin(data_); } 自动结束() { std::end(data_)...

回答 1 投票 0

C++ 中自定义 new 运算符有什么要求?

我试图了解 C++ 中自定义重载 new 运算符的真正要求是什么。 特别是关于返回指针的对齐,在运算符 new 的情况下...

回答 1 投票 0

`CreateWindowEx` 似乎返回不正确对齐的指针 Win32

我在用 C 编写的 Win32 项目中有以下代码: const HWND 窗口 = CreateWindowExW(...); static_assert(alignof *window ==alignof (int)); // 1. 始终为真 断言((uintptr_t)窗口%

回答 1 投票 0

我可以使用 std::align 来验证给定指针的对齐方式吗?

以下函数模板尝试在字节数组中定位对象。 我们可以假设参数缓冲区“通常”保存给定类型的对象,但我需要一个诊断(

回答 1 投票 0

联合的未定义行为

在使用 3D 点时,我遇到了这种类型定义方法: 并点_3d { 结构体{ GL双x、y、z; } 坐标; GL双选项卡[3]; }; 因此,坐标...

回答 1 投票 0

是否有 GCC 关键字允许结构重新排序?

我知道为什么 GCC 默认情况下不会重新排序结构的成员,但我很少编写依赖于结构顺序的代码,所以有什么方法可以将我的结构自动标记为

回答 4 投票 0

GCC 为 ARMv8 生成未对齐的访问

我正在设置 ARMv8 嵌入式系统,并在尝试编译以下代码时偶然发现了一个硬故障: 无效test_ram() { const uint8_t golddata[16] = { 0xde, 0xad, 0xba, 0xbe, 0, 0...

回答 1 投票 0

64 字节 CPU 缓存行读取是否与 64 字节边界对齐?

CPU 缓存行通常为 64 字节。当 CPU(例如现代 Intel 处理器)从内存中读取缓存行时,CPU 是否从 64 字节对齐的内存块或任何连续的 64 字节块中读取...

回答 1 投票 0

OpenGL std430 布局如何对齐数组中的元素?

我有一个 C++ 中的 PointLight 结构 结构点光源 { glm::vec4 位置; // 16 字节 glm::vec4 颜色; // 16 字节 浮动强度; // 4 字节四舍五入为 16 字节? 浮动范围; ...

回答 1 投票 0

Rust 中的 Result<T, E> 怎么这么快?

如果您去年一直活跃在编程社区中,那么您肯定听到过对 Rust 执行速度和性能以及 Rus 中出色的 Result 类型的赞扬...

回答 1 投票 0

对齐缓存行并了解缓存行大小

为了防止错误共享,我想将数组的每个元素与缓存行对齐。因此,首先我需要知道缓存行的大小,因此我为每个元素分配相应的字节数。其次我想要...

回答 7 投票 0

为什么使用指针访问未对齐的 uint16 数组时会抛出“对齐异常”,而使用下标访问数组时不会抛出“对齐异常”?

我将使用以下代码来解释我的问题: typedef struct __attribute__((打包)) { uint8_t var; uint16_t 数组[3]; }struct_t; uint8_t 帧[] = {0x01, 0x23, 0x45, 0x67, 0x89,...

回答 2 投票 0

Win32 宽字符串对齐要求

我将 GUI 代码中的问题缩小到 SetWindowTextW(HWND, wchar_t *) 如果新窗口标题未与两个字节对齐,则静默失败。在本例中,SetWindowText() 返回 1(成功)但是

回答 1 投票 0

我可以使用不带alignof的指针算术在结构体中相同类型的连续字段序列之间移动吗?

我知道还有其他类似的问题。我已阅读这些内容,但认为这个问题尚未得到解答。 我可以在连续的(声明序列中连续的)之间移动吗

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.