kb · c reference

C

Язык (указатели, управление памятью, структуры, препроцессор, UB и strict aliasing), стандартная библиотека (libc, POSIX-потоки), и экосистема низкоуровневых системных библиотек — в первую очередь kernel bypass и latency-критичные транспорты (DPDK, io_uring, AF_XDP, RDMA), которым в остальных языковых разделах (cpp/rust/go) естественного места нет, потому что это C ABI в чистом виде. Все 3 раздела — каркасы.The language (pointers, memory management, structs, the preprocessor, UB and strict aliasing), the standard library (libc, POSIX threads), and the ecosystem of low-level system libraries — primarily kernel-bypass and latency-critical transports (DPDK, io_uring, AF_XDP, RDMA), which have no natural home in the other language sections (cpp/rust/go) since these are C ABI in their purest form. All 3 sections are skeletons.

РазделыSections

кликабельны по готовностиclickable once ready

статусstatus

Раздел выделен из cpp/ отдельно, поскольку низкоуровневые системные библиотеки (DPDK, io_uring, AF_XDP, RDMA) спроектированы под чистый C ABI — родной язык, а не C++ с обёрткой. Появился из разговора про замену gRPC/Redpanda на SBE + Aeron в cran: у Aeron Media Driver/клиент есть C-реализация (C++ — лишь обёртка над ней), а сопутствующие kernel-bypass библиотеки почти без исключений тоже пишутся на чистом C. Три раздела: language/std — как в cpp/rust/go, но под C-специфику (без oop/ — язык не даёт материала для сравнительной ООП-серии); ecosystem/ — с первым содержательным блоком kernel-bypass/networking.This section was split out of cpp/ because low-level system libraries (DPDK, io_uring, AF_XDP, RDMA) are designed for the plain C ABI — their native language, not C with a C++ wrapper. It grew out of the conversation about replacing gRPC/Redpanda with SBE + Aeron in cran: Aeron's Media Driver/client has a C implementation (C++ is just a wrapper over it), and the surrounding kernel-bypass libraries are, with almost no exceptions, written in plain C too. Three sections: language/std mirror cpp/rust/go but for C specifics (no oop/ — the language offers nothing for the cross-language OOP comparison series); ecosystem/ opens with its first substantive block, kernel-bypass/networking.