问题标签 [alignof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
alignment - 如何对齐D中的结构成员?
我试过这个
但
失败,告诉我对齐仍然是1
而不是8
.
为什么会这样,我该如何解决它,以便它适用于任何 2 的幂(不仅仅是 8)的任意对齐?
c++ - sizeof 和 alignof 有什么区别?
sizeof 和 alignof 有什么区别?
将输出
1/1 1/1 2/2 2/2 4/4 4/4 4/4 4/4 4/4 8/8 8/8 8/8
我想我不明白对齐是什么......?
gcc - 为什么 gcc 不遵守对齐要求?
考虑以下 C++ 代码,它打印 a 的对齐要求double
和类型 的结构成员的有效对齐double
:
我在 x86 上用 gcc 编译这段代码。
我期待这个程序能够输出8 8
,但是它会打印出来8 4
。这是为什么?
c++ - 如何解决“程序发出命令但命令长度不正确”。调用 Process32First() 时出错?
GetLastError 告诉我我收到“程序发出命令但命令长度不正确”。调用 Process32First() 时出错(参见下面的代码)。我发现一篇看起来很有帮助的帖子(http://social.msdn.microsoft.com/Forums/is/vcgeneral/thread/6f43716f-fdd3-4c92-bfba-6a23178c32bf),但我不确定这是否是我的问题.
我尝试构建一个仅包含 、 和 to test 的程序"stdafx.h"
,但我<iostream>
仍然得到一个 4 的值。不确定这是否正确。<Windows.h>
<TlHelp32.h>
__alignof(PROCESSENTRY32)
这是失败的代码:
c++ - alignof 运算符有什么用?
我想知道alignof
在 c++14 中在哪里使用运算符
我想知道alignof
上面的程序有什么作用?
c++ - sizeof 和类型,保证
关于正确性,我找不到以下代码片段没有设计缺陷的证据/反驳。
我担心 Chunk 的所有内容,这里本质上用作与提供的类型具有相同大小的内存袋。我不想在 中显式创建 Item 对象m_memoryBlock
,因此我需要某种“具有足够空间的内存块”。
我可以确定 Chunk 的大小与提供的类型相同吗?请提供一些这种假设不起作用的例子。
如果我的假设完全错误,我应该如何处理?
c++ - `std::alignment_of` 与 `alignof`
我刚刚偶然发现了std::alignment_of
类型特征,以及它即将成为朋友std::alignment_of_v
。它们似乎被专门设计为等同于对 的普通调用alignof
,并且未来添加的_v
助手表明它不仅仅是一个遗留位。
std::alignment_of
当我们有( _v
) 时,有什么用alignof
?
clang++ - Clang 何时获得对 C++11 的 alignof 关键字的支持?
Clang 首先在r223186(2014 年 12 月)中声称支持__has_feature(cxx_alignof)
C++11 的alignof
关键字via 。这对应于 Clang 项目的营销版本号的 Clang 3.6。
但是那个版本只实现了功能测试:alignof
支持发生得更早。事实上,Clang 的 C++ 状态页面说alignof
是在 Clang 3.3 中实现的!
我在一个需要 Clang 3.3(或同等版本)但还不需要 Clang 3.6 的项目上工作。Clang 3.3-3.5 的alignof
实现中是否存在延迟功能测试支持的错误,或者不支持仅仅是疏忽?alignof
即使不支持__has_feature(cxx_alignof)
可能声明,我可以安全地在这个项目中使用吗?alignof
c++ - C++ 基本类型的对齐方式和大小
在 C++ 中,似乎对于所有整数类型(int
、long long int
、std::uint16_t
、 ...)和浮点类型,它总是sizeof(T) == alignof(T)
.
这个编译器/平台是特定的,还是保证是真的?是否存在一个平台,其中int32_t
s 不需要在 32 位边界上对齐(只要它们不重叠)?
c++ - 如何判断 C++ 中的最大数据对齐要求
参考this question and answer Memory alignment : how to use alignof / alignas?“对齐是对可以存储值的第一个字节的内存位置的限制。” C++ 中是否有一种可移植的方法来找出指令不出错所需的最高对齐粒度(例如在 ARM 中)?alignof(intmax_t)
因为它是最大的整数原始类型就足够了吗?
此外,malloc 中的某些内容如何将数据与结构的边界对齐?例如,如果我有这样的结构
该SomethingElse
结构需要与 16 字节的倍数的边界对齐。现在,如果我像这样从 malloc 请求结构的内存
那么当 malloc 返回一个指向类似地址的指针时会发生什么40
?这是无效的,因为指向SomethingElse
对象的指针必须是 16 的倍数?