c++ - '结构因对齐说明符而被填充'VS警告
问题描述
如果在 Visual Studio 中我为类或结构指定对齐方式,例如
struct __declspec(align(256)) A
{
};
我收到如下 4 级警告“警告 C4324:'A':由于对齐说明符而填充了结构”。我是否以某种方式错误地指定了对齐方式,或者这个警告可以安全地忽略?
解决方案
我是否以某种方式错误地指定对齐方式
不,尽管您使用的是语言扩展。这可能是不必要的,因为有一个更可取的标准语法:
struct alignas(256) A
{
};
这个警告可以忽略吗?
是的,忽略此警告是安全的,除非您有理由认为填充是一个问题。
但是,我建议你问问自己:当一个没有成员的类时,为什么你需要一个类来对齐?
推荐阅读
- c - 用 C 重命名 .mp4 列表
- complex-numbers - 小波变换和余弦变换之间是否存在关系
- ios - 快速解析 JSON 时出现 typeMismatch 错误
- google-bigquery - bigquery中的多个array_agg
- javascript - 为什么我在获取数据表单 API 时变得不确定
- python-3.x - 此代码未在 python 文件上运行,但表示它以正确的hackerran 运行
- python - 如何获取出现在cmd上的用户名?
- gdb - 无法使用 MinGW 交叉编译 gdb
- r - 如果列超过 R Markdown 中的页面容量,如何从表中拆分行?
- javascript - 即使没有任何错误,我的 discord.js 机器人也不会回复用户消息