memory-alignment

memory-alignment

文章 0 浏览 3

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

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

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

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

(gdb) disas foo Dump of assembler code for function foo: 0x00000000004004a8 &ltfoo+0&gt: push %rbp 0x00000000004004a9 &ltfoo+1&gt: mov %rsp,…

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

C 结构中的内存对齐

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

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

变体类型存储和对齐问题

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

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

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

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

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

上交所和中证所容器

以下代码出现段错误是否有明显的原因? #include &ltvector&gt #include &ltemmintrin.h&gt struct point { __m128i v point() { v = _mm_setr_epi32(…

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

为什么结构必须字对齐?

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

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

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

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

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

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

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

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

std::map 节点对齐

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

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

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

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

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

了解堆栈分配和对齐

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

2024-10-14 13:46:24 4 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 4 0

Windows x64的44位虚拟内存地址限制背后

http://www.alex-ionescu.com/?p=50。 我读了上面的帖子。作者以单链表为例解释了为什么Windows x64仅支持44位虚拟内存地址。 struct { // 8 字节头 …

自在安然 2024-10-09 10:23:29 6 0

#pragma pack in C++

为什么 C++ 中的 typedef 结构需要 #pragma pack ?特别是当您在网络通信中使用这些结构时。…

错々过的事 2024-10-08 21:29:38 4 0
更多

推荐作者

烙印

文章 0 评论 0

singlesman

文章 0 评论 0

独孤求败

文章 0 评论 0

晨钟暮鼓

文章 0 评论 0

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