c-programming

标签

Cards List
#c-programming

失落的 malloc()

Lobsters Hottest ↗ · 2026-11-02 缓存

一篇进行「Unix 考古」的博客文章,探讨早期 Unix 版本(V4,1973 年)如何处理内存分配——从使用 sbrk() 的原始线性分配器,到 Dennis Ritchie 在 /usr/sys/dmr/malloc.c 中实现的、基于 map 的 malloc()/mfree() 前身。

0 人收藏 0 人点赞
#c-programming

不用 AI,52 分钟。手写 C 语言实现所有 Linux 文件工具

Lobsters Hottest ↗ · 2026-11-01 缓存

一个 YouTube 视频,演示如何在 52 分钟内,不借助 AI 辅助,手动用 C 语言从零实现所有 Linux 文件工具。该视频通过 Lobsters 分享,并引发了开发者社区的讨论。

0 人收藏 0 人点赞
#c-programming

GOTO 被认为完全超赞(在 C 语言的错误处理中)

Lobsters Hottest ↗ · 2026-10-28 缓存

作者从 Go 和 Zig 回到 C 编程时,反思了错误处理和资源清理的痛点,并介绍了受 John Carmack 邮件启发的使用 goto 统一清理出口的写法,让 C 的错误处理更简洁。

0 人收藏 0 人点赞
#c-programming

C语言中的反向遍历

Hacker News Top ↗ · 2026-10-26 缓存

作者解释了在C语言中反向遍历时常见的错误,并介绍了一种简洁的惯用写法 `for(size_t i = count; i--; )`,它可以避免使用带符号下标以及整数回绕带来的问题,尤其是在LLM生成的代码不断重复这些有缺陷的写法的背景下。

0 人收藏 0 人点赞
#c-programming

POSIX 的 wordexp(3) 很危险

Lobsters Hottest ↗ · 2026-10-25 缓存

一篇 TIL 博客指出,POSIX 的 wordexp(3) 默认启用命令替换,即使传入 WRDE_NOCMD,musl 和 macOS 的 libc 实现也可能被绕过,建议不要在不可信输入上使用它。

0 人收藏 0 人点赞
#c-programming

整数转字符串(2014)

Hacker News Top ↗ · 2026-10-18 缓存

L. Pereira 于 2014 年撰写的一篇博客文章,探讨了在 C 语言中将整数转换为字符串的多种逐步优化的方法,比较了朴素的除法方案、Lwan 中使用的免原地反转的变体,以及 Facebook 的双位数查表技巧——该技巧大致将除法次数减半,带来约 31% 的速度提升。

0 人收藏 0 人点赞
#c-programming

我的 C23 编码约定

Lobsters Hottest ↗ · 2026-10-15 缓存

作者分享了在 C23 标准下采用的三种现代 C 编码约定,包括使用 [[nodiscard]] 与 [[maybe_unused]] 处理未使用返回值、C23 中 union 初始化行为的变化,以及借助 auto 简化代码的新模式。

0 人收藏 0 人点赞
#c-programming

用 String View 修复 C 字符串

Lobsters Hottest ↗ · 2026-10-14 缓存

一篇博客文章,解释了 C 语言中以 NUL 结尾的字符串所存在的问题,并介绍了一个小型的单文件 C 库,该库提供 str_view 和 str_owned 结构体,以实现更安全、更高效的字符串处理。

0 人收藏 0 人点赞
#c-programming

又一个 Linux man page 不准确的地方

Lobsters Hottest ↗ · 2026-10-14 缓存

博主更正了此前关于 glibc 中 initstate() 不遵循 POSIX 错误返回规范的说法:该 bug 早在 2013 年就已修复,只是 initstate(3) man page 至今未更新,且页面还遗漏了 POSIX 实际上并未为该函数定义任何错误条件这一关键信息。

0 人收藏 0 人点赞
#c-programming

C 语言中的 Arena 分配器

Lobsters Hottest ↗ · 2026-10-11 缓存

一篇讲解 C 语言中 Arena 分配器的技术指南,介绍如何通过批量分配内存块来替代传统的 malloc/free 模式,从而提升性能并减少内存泄漏。

0 人收藏 0 人点赞
#c-programming

清零(Zeroization)第一部分:擦除可能让情况更糟

Lobsters Hottest ↗ · 2026-10-07 缓存

这篇技术博客文章探讨了在 C 代码中对秘密数据进行清零(memset/secure_zero)的常见做法为何可能适得其反:编译器优化可能会删除 memset 调用,而使用 volatile 逐字节写入或不透明的擦除函数反而可能引入新的秘密副本,并让其残留在寄存器中。

0 人收藏 0 人点赞
#c-programming

C 语言中的类型安全泛型数据结构

Hacker News Top ↗ · 2026-10-03 缓存

一篇技术博客文章,探讨在 C 语言中编写类型安全泛型数据结构的技巧,从头文件包含宏和 void 指针,逐步深入到联合体与内联存储,并以链表实现为例进行说明。

0 人收藏 0 人点赞
#c-programming

mantle.nes 详解博客 第一部分

Lobsters Hottest ↗ · 2026-09-27 缓存

这篇博客文章详细介绍了作者创作《Deltarune Chapter 3》的NES逆移植同人游戏的过程,涵盖了NES开发工具和工作流程等技术方面。

0 人收藏 0 人点赞
#c-programming

@TrisH0x2A:伊利诺伊州的一位教授对现有的系统编程教科书感到不满,于是他与学生们一起开始编写一本 Wikibook……

X AI KOLs Timeline ↗ · 2026-09-25 缓存

伊利诺伊州的一位教授与学生合作发起了一本协作式 Wikibook,旨在提供一本免费、全面的指南,涵盖 C 语言、进程、线程、内存、网络、文件系统、调度和安全等系统编程主题。

0 人收藏 0 人点赞
#c-programming

LinearSolveBench: 线性求解器的新基准测试 [P]

Reddit r/MachineLearning ↗ · 2026-09-22

LinearSolveBench 是一个用于评估 C 语言线性求解器的新基准测试,重点关注针对大型稀疏系统的速度、精度和通用性,以促进算法进步。

0 人收藏 0 人点赞
#c-programming

Show HN: Npunlock – 为Intel NPU编写自定义C内核

Hacker News Top ↗ · 2026-09-22 缓存

Npunlock是一个工具,它通过重建从C代码到可运行内核的路径,使得在Intel NPU上运行自定义C内核成为可能,并在Meteor Lake硬件上进行了验证。

0 人收藏 0 人点赞
#c-programming

C与C++中的类型双关

Hacker News Top ↗ · 2026-09-22 缓存

本文介绍了C和C++中的类型双关,警告了由于严格别名规则导致的指针类型转换未定义行为,并推荐使用联合体或memcpy实现安全的类型双关。

0 人收藏 0 人点赞
#c-programming

@huihoo: 免费书籍《Computing Systems Organization》CC许可(计算系统组织)由16份独立文档组成…

X AI KOLs Timeline ↗ · 2026-09-21 缓存

一本由Dr. Carl Burch撰写的免费书籍《Computing Systems Organization》在CC许可下发布,包含16份关于现代计算系统概念的文档。

0 人收藏 0 人点赞
#c-programming

SDCC – 小型设备C编译器

Hacker News Top ↗ · 2026-09-19

SDCC是一个小型设备C编译器,一种用于C语言编程小型和嵌入式系统的开发工具。

0 人收藏 0 人点赞
#c-programming

C*: 统一编程与验证的C语言

Hacker News Top ↗ · 2026-09-08 缓存

本文介绍了C*,一种证明集成语言,它将C编程与形式化验证统一,通过嵌入式证明代码块实现实时验证。

0 人收藏 0 人点赞
Next →
← 返回首页

提交意见反馈