Lobsters | 📄 原文链接 | 2026-10-25 收录

说未定义行为"最多就是段错误"的人,该看看这段汇编

来源:blog.habets.se — 2026-10

📋 概述

有人坚持说未定义行为其实可控,最坏结果是段错误。作者用同一段代码在 GCC 16.2 与 Clang 下给出三个反例:调用一个从未被调用的函数、往地址 0 写入一个代码里根本没出现的值然后故意崩溃、或者恰好做了你期望的事。编译器没有义务去"检测"未定义行为——停机问题决定了它无法在一般情况下知道代码会不会被执行,所以它干脆假设 UB 不会发生。

🔑 核心要点

💡 金句

No compiler is obligated to "detect" UB at all.
← 返回 Lobsters 首页