strict-aliasing

strict-aliasing

文章 0 浏览 2

类型别名和动态分配的数组

我正在尝试通过 blitz++ 数组库中的编译器促进自动矢量化。出于这个原因,我想展示固定长度向量块中的数组数据的视图,这些向量已经很好地向量化了。…

混吃等死 2024-11-08 21:59:00 0 0

执行变量的原始副本的简单转换是否会破坏严格别名?

我一直在阅读严格别名最近相当多。 C/C++ 标准规定以下代码无效(未定义的行为是正确的),因为编译器可能将 a 的值缓存在某处,并且在以下情况下无法…

惜醉颜 2024-10-18 02:21:36 2 0

在这种情况下可以转换一个指向成员变量的指针吗?

我最近一直在刷新/更新我的 C++ 知识,并且了解严格别名使我对将一种类型的指针转​​换为另一种类型有点谨慎。我知道下面的代码示例在我的编译器上实…

青衫负雪 2024-10-10 12:32:54 3 0

C++ 中的简单存储类和严格的别名

我有以下代码用于存储一个小类。 #include &ltiostream&gt template&lttypename T&gt class storage { private: struct destroy { T&amp m_t destroy(…

蓝礼 2024-10-02 08:49:29 4 0

“取消引用类型双关指针将违反严格别名规则”警告

我使用将 enum* 转换为 int* 的代码。像这样的事情: enum foo { ... } ... foo foobar int *pi = reinterpret_cast&ltint*&gt(&ampfoobar) 编译代码…

烟若柳尘 2024-10-02 06:08:52 3 0

为什么此代码没有生成严格别名警告?

我有以下代码: struct A { short b } struct B { double a } void foo (struct B* src) { struct B* b = src struct A* a = (struct A*)src b-&gta =…

一生独一 2024-09-25 11:15:29 5 0

违反严格别名规则的强制转换

我有一个函数需要一个 unsigned long* 并需要将其传递给一个需要 unsigned int* 的外部库,并且在此平台上 unsigned int/long 的大小相同。 void Upda…

怼怹恏 2024-09-24 12:45:19 5 0

取消引用类型双关指针将违反严格别名规则

我使用以下代码从文件中读取数据,作为较大程序的一部分。 double data_read(FILE *stream,int code) { char data[8] switch(code) { case 0x08: retu…

↙厌世 2024-09-09 06:01:56 7 0

boost::bind 违反了严格别名规则?

使用Boost 1.43和GCC 4.4.3,以下代码 boost::bind(&ampSomeObject::memberFunc, this, _1)) 生成以下警告 boost/function/function_base.hpp:321: 警…

素食主义者 2024-09-05 11:48:53 5 0

严格的指针别名:针对特定问题的任何解决方案?

我遇到了由于违反严格的指针别名规则而引起的问题。我有一个来自模板的类型 T 和一些相同大小的整数类型 Int(与 sizeof 一样)。我的代码基本上执行…

谎言月老 2024-09-04 18:46:20 10 0

严格的指针别名:通过“易失性”访问指针/引用解决方案?

紧随特定问题,一个自我回答和评论,我想了解它是否是一个正确的解决方案、解决方法/黑客或只是简单的错误。 具体来说,我重写了代码: T x = ... if …

阳光下慵懒的猫 2024-09-04 08:09:50 11 0

gcc、严格别名和恐怖故事

Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题吗?通过编辑这篇文章来更新问题,使其…

樱花坊 2024-09-04 02:52:48 5 0

gcc、严格别名和通过联合进行转换

你有什么恐怖故事要讲吗? GCC 手册最近添加了有关 -fstrict-aliasing 和通过联合强制转换指针的警告: [...] 获取地址、转换结果指针并取消引用结果…

想你只要分分秒秒 2024-09-03 02:28:52 9 0

C++ 中的 C99 严格别名规则(海湾合作委员会)

据我了解,GCC 在 C++ 中支持所有 C99 功能。但是 C99 严格别名在 C++ 代码中是如何处理的呢? 我知道在不相关的类型之间使用 C 类型转换不是严格别名…

李白 2024-08-31 04:53:57 8 0

尝试理解 GCC 错误

我有以下代码: #include &ltiostream&gt #include &ltlist&gt #include &ltalgorithm&gt #include &ltiterator&gt template&lttypename Iterator&gt …

红ご颜醉 2024-08-18 08:52:24 6 0
更多

推荐作者

留蓝

文章 0 评论 0

18790681156

文章 0 评论 0

zach7772

文章 0 评论 0

Wini

文章 0 评论 0

ayeshaaroy

文章 0 评论 0

初雪

文章 0 评论 0

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