memory-alignment 相关问题

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

是否有可能有一个std :: vector 使用选定的内存对齐分配内存

我正在向量中复制进程的内存 缓冲区并希望为此向量分配的内存具有比默认值更高的对齐方式。这是因为我在寻找......

回答 2 投票 4

在typed std :: array中放置new和std :: destroy_at的安全性?

请考虑以下示例:#include #包括 class trivial {public:trivial()= default; trivial(int a,float b):m_a(a),m_b(b){} private:int m_a; ...

回答 1 投票 1

使用带有对齐内存的movapd崩溃

我在Windows上使用64位NASM为malloc分配了一块内存。当我使用movapd(移动两个对齐的打包双精度浮点值)时,我的程序崩溃,但我可以使用...

回答 1 投票 0


struct packing:如何在开头添加struct成员?

我正在C89中实现二叉树,我试图通过组合在所有节点结构中共享公共属性。因此我有以下代码:enum foo_type {FOO_TYPE_A,...

回答 1 投票 1

MSVC默认内存对齐为8

根据MSDN,/ Zp命令默认为8,这意味着使用64位对齐边界。我一直认为对于32位应用程序,MSVC编译器将使用32位边界。 ...

回答 2 投票 5

malloc + size_t * 3的地址是否与任何类型对齐?

我正在构建一种动态数组(向量),但不是将数据(通常是void *)嵌入到结构向量中,而是为结构向量+一大块字节保留空间,这是一个使用...的示例。 。

回答 2 投票 3

关于Hinnant的堆栈分配器的问题

我一直在使用Howard Hinnant的堆栈分配器,它就像一个魅力,但实现的一些细节对我来说有点不清楚。为什么全局运营商使用new和delete? ......

回答 1 投票 31

AVX2:分配给__m256i类成员时出现分段错误

我目前正在重构一个命令式的C ++程序,该程序将AVX2原语广泛用于结构良好的基于 类的程序。不幸的是,我在分配课程时遇到了段错误......

回答 1 投票 1

未对齐访问会导致ARM Cortex-M4出错

我有一个对象,其地址不是4字节对齐的。当存在STR指令保存2个寄存器时,这会在cpu中导致HardFault错误。这是生成的代码:00000000&...

回答 2 投票 7

为什么32位和64位系统上的“对齐”相同?

我想知道编译器是否会在32位和64位系统上使用不同的填充,所以我在一个简单的VS2019 C ++控制台项目中编写了下面的代码:struct Z {char s; __int64 i; } ...

回答 4 投票 16

GNU GCC编译器 - 对齐的属性

由于以下代码,我正确地获得了对齐警告转换,增加了目标类型[-Wcast-align]与GCC编译器的对齐:uint8_t array [100]; uint32_t foo; foo = *(...

回答 2 投票 0

什么类型的代码可以动态触发未对齐的数据访问sigbus陷阱?

我正在寻找未对齐数据访问的SIGBUS。我正在跟踪其中一个错误,我想知道这是怎么发生在sitara am335x。有人可以给我一个示例代码给...

回答 1 投票 1

如何在读取(2)结构时正确避免“强制增加所需对齐”警告?

许多Linux内核接口(inotify等)通过从某个文件描述符以结构形式读取(2)数据来工作。这样做的代码经常是这样的:#include ...

回答 1 投票 -1

针对不同缓冲区大小的不同内存对齐

我正在尝试教育自己关于堆栈溢出并使用这些-fno-stack-protector标志玩了一下,并尝试了解如何在进程中管理内存。我编译了......

回答 1 投票 1

正确分配一个新的放置数组

我正在构建一个内存分配器并使用placement new。假设我想将10个元素“放置”到堆上已分配的数组中。第一个常规新分配必要数量的......

回答 1 投票 0

整数类型的对齐方式

我知道结构的大小和对齐方式并不总是相同,但是对整数类型的大小和对齐有什么保证吗?例如,int的大小和对齐方式...

回答 1 投票 2

工会内部结构的填充如何工作?

我有以下内容:#include typedef union u_data {struct {int a; int b; int c; }; int ...

回答 4 投票 4

将二进制字节(char *)转换为uint64_t *,是否安全?

我正在编写这个从远程服务器接收包的C ++代码。由于包的大小事先是未知的,因此代码首先接收8个字节,它告诉整个包的大小。 ...

回答 4 投票 0

(u)intN_t总是与N位对齐? [关闭]

例如,在体系结构x86上,64位整数可以安全地对齐到32位而没有损失,因为仍然需要进行部分计算:整数根本不适合寄存器。 ...

回答 1 投票 2

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