|
You are here |
raphlinus.github.io | ||
| | | | |
blog.sigplan.org
|
|
| | | | | "Undefined Behavior" often has a bad reputation. But what, really, is Undefined Behavior, and is it actually that bad? In this blog post, I will look at this topic from a PL perspective... | |
| | | | |
blog.regehr.org
|
|
| | | | | [AI summary] The provided text is a discussion thread about undefined behavior in C and C++ programming languages, focusing on integer overflow, pointer aliasing, and compiler optimizations. Key points include the implications of undefined behavior in real-world code, the role of compilers in handling such cases, and the balance between adhering to standards and accommodating practical programming needs. The conversation touches on tools for detecting undefined behavior, the evolution of C/C++ standards, and the importance of unit testing and maintenance in software development. | |
| | | | |
qsantos.fr
|
|
| | | | | [AI summary] This article explains the dangers of undefined behavior in programming languages like C, illustrates how compiler optimizations can lead to unpredictable results, and reviews various static and formal analysis tools used to detect and prevent such issues. | |
| | | | |
blog.m-ou.se
|
|
| | | The fmt::Arguments type is one of my favorite types in the Rust standard library. It's not particularly amazing, but it is a great building block that is indirectly used in nearly every Rust program. This type, together with the format_args!() macro, is the power behind print!(), format!(), log::info!() and many more text formatting macros, both from the standard library and community crates. In this blog post, we learn how it works, how it is implemented today, and how that might change in the future. | ||