C (Programming Language)
- Advanced C: The UB and optimizations that trick good programmers: https://www.youtube.com/watch?v=w3_e9vZj7D8
What Every C Programmer Should Know About Undefined Behavior: https://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
by Chris Latner
- Undefined Behaviors exits to enable compiler to make your code faster. E.g.
Signed interger overflow
INT_MAX + 1 doesn't need to be INT_MIN. This undefined behavior allows the optimizing
X + 1 > X
totrue
.
About pointer provenance:
Pointers Are Complicated, or: What's in a Byte? [https://www.ralfj.de/blog/2018/07/24/pointers-and-bytes.html]
Pointers Are Complicated II, or: We need better language specs [https://www.ralfj.de/blog/2020/12/14/provenance.html#fnref:ub-difference]
- About C standard trying to not introduce warnings hinder the growth and safety of C: Why the C Language Will Never Stop You from Making Mistakes
- C must die: https://veresov.pro/cmustdie/ [Russian]
Kitsune: Efficient, General-purpose Dynamic Software Updating for C
Loads your program as a shared library, and allows updating the program while it is running. It works by allowing programmers to specify some points in program where update maybe done. And provides facilities to do data migration.
It was suppored by ExaScale Computing Project.