memory-alignment

memory-alignment

文章 0 浏览 7

命名联合内的数组元素或结构体和数组

考虑以下结构: struct Vector4D { union { double components[4]; struct { double x, y, z, t; } Endpoint; }; }; 在我看来,我在 WinApi 的 IPAddr…

陪你到最终 2024-11-16 19:44:09 9 0

C++非交错存储元组的容器

我正在寻找 元组 的 std::vector 或 std::array 变体,其中元组元素放置在 非交错进入单独的内存区域,而不是像 std::vector 那样交错。 >。 这样做的…

甜警司 2024-11-14 20:22:51 7 0

处理多重继承时如何对齐指针?

假设我们有一个具体的类 A 和一个抽象类 B。 考虑一个具体的 C,它继承自 A 和 B,并实现 B: class C : public A, public B { /* implementation of …

や三分注定 2024-11-02 01:05:01 11 0

为什么在 64 位架构上对齐是 16 字节?

(gdb) disas foo Dump of assembler code for function foo: 0x00000000004004a8 : push %rbp 0x00000000004004a9 : mov %rsp,%rbp 0x00000000004004a…

熟人话多 2024-10-30 09:51:30 6 0

C 结构中的内存对齐

我在 32 位机器上工作,所以我认为内存对齐应该是 4 个字节。假设我有这个结构: typedef struct { unsigned short v1; unsigned short v2; unsigned …

荒岛晴空 2024-10-26 19:59:50 5 0

变体类型存储和对齐问题

我创建了一个变体类型来代替 boost::variant。我的工作是将当前类型的索引存储在可能类型的列表中,并将数据存储在具有足够空间来存储最大类型的字节…

仄言 2024-10-25 20:46:55 5 0

引用静态对象 - 在 ARM 进程上触发对齐陷阱

我有一堂课: class A { public: static A& instance(); ... void setValue(int val){ _value = val; } private: int _value; } A& A::instance(){ st…

情痴 2024-10-25 17:16:03 8 0

上交所和中证所容器

以下代码出现段错误是否有明显的原因? #include #include struct point { __m128i v; point() { v = _mm_setr_epi32(0, 0, 0, 0); } }; int main(int…

谜兔 2024-10-20 08:44:55 10 0

为什么结构必须字对齐?

可能的重复: 内存对齐的目的 为什么结构或任何内存分配(如 int、char)必须字对齐。它有什么好处? 更新: 主要原因是,如果没有内存对齐,数据类…

鸩远一方 2024-10-19 19:34:02 10 0

给定数据类型的字节对齐要求是否保证为 2 的幂?

给定数据类型的字节对齐要求是否保证为 2 的幂? 除了“否则没有意义”之外,是否有其他东西可以提供这种保证,因为它与系统页面大小不一致? (背景…

帅气尐潴 2024-10-19 17:57:48 10 0

C++ 中的原子性:神话还是现实

我一直在 MSDN 中阅读一篇关于无锁编程的文章。它说: 在所有现代处理器上,您可以 假设读取和写入 自然对齐的本机类型是原子的。只要内存总线是 至少…

醉城メ夜风 2024-10-17 20:02:47 9 0

std::map 节点对齐

我正面临着一些非常奇妙的事情。 (场景:Win7 pro 64位,VC2008编译32位代码) 假设主程序实例化一个使用std::map的Class。 这是一个 std::map ;其…

┊风居住的梦幻卍 2024-10-17 15:48:09 14 0

GCC隐式对齐问题。 (64 位代码)

如何在 gcc 中显式禁用已定义变量的对齐? 采用这段代码: typedef struct{ unsigned long long offset; unsigned long long size; unsigned long typ…

美羊羊 2024-10-15 19:32:05 7 0

了解堆栈分配和对齐

我试图了解堆栈对齐如何工作,如什么是“堆栈对齐”?中所述。但我很难找到一个小例子来证明上述行为。我正在检查函数 foo 的堆栈分配: void foo() {…

2024-10-14 13:46:24 12 0

C/C++指针,ptr+1 = ptr+1 字节还是 ptr+1*sizeof(pointer_type)?

my_ptr会 any_type *ptr = (any_type*)malloc(sizeof(any_type)*size); my_ptr = ptr+1; memcpy(dst, my_ptr, sizeof(any_type)); 指向 ptr 之后的 1 …

醉生梦死 2024-10-14 00:42:16 11 0
更多

推荐作者

眼泪淡了忧伤

文章 0 评论 0

corot39

文章 0 评论 0

守护在此方

文章 0 评论 0

github_3h15MP3i7

文章 0 评论 0

相思故

文章 0 评论 0

滥情空心

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文