# c-language

Published articles for c-language.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Fabrice Bellard: The Genius Behind the Internet's Hidden Infrastructure

DevFeed: [Fabrice Bellard: The Genius Behind the Internet's Hidden Infrastructure](<https://devfeed.tech/articles/fabrice-bellard-the-genius-behind-the-internet-s-hidden-infrastructure-62272.md>)

Original publisher: [Read original article](<https://hackernoon.com/fabrice-bellard-the-genius-behind-the-internets-hidden-infrastructure?source=rss>)

Author: Bruce Li

Published: 2026-09-29T19:00:41Z

Content type: article

Language: en

Sources: [HackerNoon](<https://devfeed.tech/sources/hackernoon.md>)

Topics: [Calculate Pi](<https://devfeed.tech/topics/calculate-pi.md>)

Tags: [c-language](<https://devfeed.tech/tags/c-language.md>), [cellular](<https://devfeed.tech/tags/cellular.md>), [commit](<https://devfeed.tech/tags/commit.md>), [computer](<https://devfeed.tech/tags/computer.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [emulator](<https://devfeed.tech/tags/emulator.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [futurism](<https://devfeed.tech/tags/futurism.md>), [hackernoon-top-story](<https://devfeed.tech/tags/hackernoon-top-story.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-software](<https://devfeed.tech/tags/open-source-software.md>), [pc](<https://devfeed.tech/tags/pc.md>), [pi](<https://devfeed.tech/tags/pi.md>), [supercomputer](<https://devfeed.tech/tags/supercomputer.md>), [virtual-machine](<https://devfeed.tech/tags/virtual-machine.md>)

### AI overview

This profile portrays programmer Fabrice Bellard through his work and its impact. It describes his record-setting computation of nearly 2.7 trillion digits of pi on a desktop, and says his code has been used for internet video, virtual machines, emulators, cellular towers, and Mars rover video compression. The article also points to mailing lists, commit logs, and maintainers who continue his work.

### Source excerpt

Fabrice Bellard wrote the code that carries the world's video, spins up its clouds, and speaks to its cell towers. But this ultimate coder has no face.

## \[$\] Reducing undefined behavior in the C language

DevFeed: [\[$\] Reducing undefined behavior in the C language](<https://devfeed.tech/articles/reducing-undefined-behavior-in-the-c-language-61380.md>)

Original publisher: [Read original article](<https://lwn.net/Articles/1095811/>)

Author: corbet

Published: 2026-09-28T15:16:22Z

Content type: article

Language: en

Sources: [LWN.net](<https://devfeed.tech/sources/lwn-net.md>)

Topics: [undefined\_behavior](<https://devfeed.tech/topics/undefined-behavior.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [typesafety](<https://devfeed.tech/topics/typesafety.md>)

Tags: [2015](<https://devfeed.tech/tags/2015.md>), [2026](<https://devfeed.tech/tags/2026.md>), [abi](<https://devfeed.tech/tags/abi.md>), [abstract](<https://devfeed.tech/tags/abstract.md>), [annotations](<https://devfeed.tech/tags/annotations.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [array](<https://devfeed.tech/tags/array.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [buffer](<https://devfeed.tech/tags/buffer.md>), [buffer-overflow](<https://devfeed.tech/tags/buffer-overflow.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [c](<https://devfeed.tech/tags/c.md>), [c-language](<https://devfeed.tech/tags/c-language.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [language](<https://devfeed.tech/tags/language.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory](<https://devfeed.tech/tags/memory.md>), [talk](<https://devfeed.tech/tags/talk.md>), [undefined-behavior](<https://devfeed.tech/tags/undefined-behavior.md>)

### AI overview

C's undefined behavior gives implementations room for hardware support and optimization, but can leave programs without expected semantics and enable surprising compiler transformations. The article gives examples involving division by zero, observable side effects, and volatile stores, and notes that C23 added a "no time travel" rule for one such case. Mitigations include compiler warnings, static analysis, sanitizers, and formal verification; C2y's draft has removed 45 of roughly 100 instances of undefined behavior. Type and bounds safety can be improved with annotations, diagnostics, and checks, while temporal safety remains harder: Rust has an advantage, and CHERI and Fil-C can help. Full memory safety would require costly runtime checks or formal verification; the author expects the strongest near-term results from restricted C combined with formal methods.

### Source excerpt

As a professor of biomedical engineering, Martin Uecker perhaps does not fit the profile of a typical presenter at Kernel Recipes. He is, however, a longtime Linux user, and works on free software for controlling magnetic resonance imaging (MRI) scanners. He was at the conference to talk about the C programming language, the specific problem of undefined behavior in C, and whether it can eventually be made into a memory-safe language.

## objc\_msgSend's New Prototype

DevFeed: [objc\_msgSend's New Prototype](<https://devfeed.tech/articles/objc-msgsend-s-new-prototype-30631.md>)

Original publisher: [Read original article](<http://www.mikeash.com/pyblog/objc_msgsends-new-prototype.html>)

Author: Mike Ash

Published: 2019-10-11T12:09:00Z

Content type: article

Language: en

Sources: [Mike Ash](<https://devfeed.tech/sources/mike-ash.md>)

Topics: [Parameter](<https://devfeed.tech/topics/parameter.md>), [return](<https://devfeed.tech/topics/return.md>)

Tags: [abi](<https://devfeed.tech/tags/abi.md>), [apple](<https://devfeed.tech/tags/apple.md>), [argument](<https://devfeed.tech/tags/argument.md>), [arguments](<https://devfeed.tech/tags/arguments.md>), [arm64](<https://devfeed.tech/tags/arm64.md>), [assembly](<https://devfeed.tech/tags/assembly.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [bits](<https://devfeed.tech/tags/bits.md>), [block](<https://devfeed.tech/tags/block.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [c](<https://devfeed.tech/tags/c.md>), [c-language](<https://devfeed.tech/tags/c-language.md>), [cache](<https://devfeed.tech/tags/cache.md>), [call](<https://devfeed.tech/tags/call.md>), [change](<https://devfeed.tech/tags/change.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [function](<https://devfeed.tech/tags/function.md>), [functions](<https://devfeed.tech/tags/functions.md>), [id](<https://devfeed.tech/tags/id.md>), [prototype](<https://devfeed.tech/tags/prototype.md>)

### AI overview

`objc_msgSend` has no single useful C prototype: its effective signature is the signature of the method implementation it dispatches to. The old variadic declaration sometimes appeared to work, but ABI differences could corrupt arguments--for example, on x86-64 a variadic call promotes `float` to `double`, and on ARM64 variadic arguments go on the stack while ordinary arguments use registers. Apple's new `void objc_msgSend(void)` declaration makes uncast calls fail at compile time; callers must cast it to a function pointer matching the target method's types. Correctly typed casts preserve the expected argument and return handling.

### Source excerpt

Apple's new OSes are out. If you've looked through the documentation, you may have noticed that the prototype for objc_msgSend has changed. Previously, it was declared as a function that took id, SEL, and variadic arguments after that, and returned id. Now it's declared as a function that takes and returns void. Similar functions like objc_msgSendSuper also became void/void. Why the change? (Read More)