memory-alignment

memory-alignment

文章 0 浏览 4

跨平台 ALIGN(x) 宏?

我想创建一个具有一定对齐方式的struct。 我想对 GCC 和 VisualC++ 编译器使用相同的结构定义。 在 VisualC++ 中,通常会这样做: __declspec(align(3…

笑梦风尘 2024-12-12 04:45:06 0 0

为什么 GCC pad 与 NOP 一起起作用?

我使用 C 语言已经有一段时间了,最​​近才开始接触 ASM。当我编译程序时: int main(void) { int a = 0; a += 1; return 0; } objdump 反汇编有代码…

嘿看小鸭子会跑 2024-12-11 21:28:41 1 0

对齐到8的原因是什么?

struct { /* Fileheader */ uchar file_version[4]; uchar options[2]; uchar header_length[2]; uchar state_info_length[2]; uchar base_info_leng…

深巷少女 2024-12-11 16:04:15 0 0

数据大小和磁盘访问

将数据在存储上对齐到一定大小有好处吗?例如,如果我可以选择使用 1 个字节来存储信息或使用 4 个字节,哪一个是首选(假设存储大小不重要,仅优化)…

梦在夏天 2024-12-07 06:30:55 0 0

如果内存是字节可寻址的,为什么我们需要对齐填充?

既然我们可以单独寻址内存的每个字节,为什么编译器要格外小心以确保结构及其成员与内存中的 32 位边界对齐? 我在这里可能是错的,但是在 32 位系统…

祁梦 2024-12-03 15:52:30 1 0

在哪里可以找到有关 C++ 的文档不同平台/编译器之间的内存对齐?

我正在寻找关于 C++ 中的内存对齐、典型方法、编译器之间的差异以及常见陷阱的优秀(全面)文档。只是为了检查我对这个主题的理解是否正确并学习新的…

挖鼻大婶 2024-12-03 02:11:18 1 0

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

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

天赋异禀 2024-12-02 18:23:51 0 0

如何模拟alignas(T)?

我有一个数组,用作 T 类型的对象的底层内存: char memory[sizeof T]; . . . new(memory) T(whatever); 如何确保 memory 与 T 正确对齐物体?在 C++0…

抠脚大汉 2024-11-28 06:38:56 1 0

在初始化列表中从 float* 设置 double[]

我有一个大致如下所示的类: template class Foo { public: Foo(void const * const data); private: double vals[dim]; } 对于构造函数,我知道 void…

北城孤痞 2024-11-26 01:44:10 2 0

预取对齐内存

我有一些线程 C 代码,需要对处理后的数据结构进行 64 字节对齐。这种对齐将如何与 gcc __builtin_prefetch 等预取指令交互?预取的效果与使用非对齐…

北方。的韩爷 2024-11-17 05:34:15 2 0

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

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

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

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

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

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

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

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

や三分注定 2024-11-02 01:05:01 6 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 3 0

C 结构中的内存对齐

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

荒岛晴空 2024-10-26 19:59:50 2 0
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

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