Languages: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
Same locale: use the language bar above; sub-pages (dyncode guide) are linked in that language from this index.
Design notes, API reference, and guides for every NeverC subsystem.
The dyncode compilation pipeline is NeverC's primary research focus. For architecture, CLI options, platform matrix, and examples, see:
| Document | Description |
|---|---|
| README | Overview, quick start, supported targets |
| Pipeline & PIC | IR → object → extraction design |
| IR Pass Design | Rationale for each IR pass |
| MIR Pass Design | Backend MIR passes |
| Kernel-Mode DynCode | Ring-0 compilation |
| Cross-Platform Architecture | TargetDesc and extractors |
| Platform Extension Guide | Adding new targets |
| ARM64 Assembly Tutorial | ARM64 instructions from a dyncode perspective |
| Roadmap | Planned work |
| Progress | Implementation status |
NeverC recognizes .nc as its native source file extension. When you use .nc, the compiler automatically enables all NeverC language extensions (-fneverc-types, -fbuiltin-string) — no extra flags needed.
NeverC extends standard C with opt-in built-in runtimes embedded as LLVM bitcode. Each is controlled by a -fbuiltin-<name> flag. For .nc files, string is enabled automatically.
| Built-in | Flag | Description |
|---|---|---|
| Built-in String | -fbuiltin-string |
Value-semantic string type with dot-call methods, automatic memory management, and native UTF-8 |
| Built-in mimalloc | -fbuiltin-mimalloc |
Transparent high-performance mimalloc allocator override for malloc/free/calloc/realloc |
| String Encryption (xorstr) | -fencrypt-call-strings |
Compile-time string encryption with stack-allocated XOR decryption and anti-signature algorithm |
| String Hashing (strhash) | -fstrhash-algo / -fstrhash-fold |
Compile-time string hashing with matching runtime and optional IR constant folding |
NeverC exposes its whole toolchain through a pure C ABI. A plugin is a shared module (.dll / .so / .dylib) that attaches to any of 130 named compiler phases — from command-line parsing to the final linked image — as an observer, an interceptor, or a replacement provider. The SDK is header-only: no LLVM headers, no compiler linkage.
| Document | Description |
|---|---|
| README | Entry point, phases, interface negotiation, registration, ABI rules |
| Driver API | Command line, toolchain selection, action graph, job graph |
| Source and I/O API | VFS providers, source locations, buffers, output sinks, dependencies |
| Preprocessor API | Tokens, macros, pragmas, includes, feature queries, 39 event kinds |
| AST and semantic API | Parser extension, AST mutation, name lookup, types, constants |
| IR API | LLVM IR reading, transactional building, analyses, passes, providers |
| MIR API | Machine functions, registers, frames, MIR passes and analyses |
| Target, MC, assembly, object | Target registration, calling conventions, MC encoding, object graphs |
| Link and LTO API | Link graph, symbol resolution, GC/ICF, linker and LTO providers |
| DynCode API | Flat position-independent images, import lowering, charset encoding |
| Custom calling conventions | Data-driven calling-convention plugins |
Major planned directions for the NeverC project: standard library, EVM smart contract backend, and Solana eBPF backend.
| Feature | Description |
|---|---|
Standard Library (std) |
Go-style batteries-included packages: fmt, os, io, net, crypto, encoding, sync, and more |
Obfuscation Plugin Suite (neverc-obfuscation) |
First-party VM, MBA, control flow flattening, polymorphic engine, and anti-tamper plugins |
UI Component Library (neverc-ui) |
Qt-inspired cross-platform UI with HTML/JS/CSS renderer, drag-and-drop designer, AI-native workflow |
IDE & Language Tooling (neverc-ide) |
VSCode extension + standalone IDE for .nc files with IntelliSense, debugging, and dyncode pipeline visualization |
| EVM Smart Contracts | Compile C to EVM bytecode — write smart contracts in C instead of Solidity |
| Solana eBPF | Compile C to Solana eBPF bytecode — on-chain program development in C |
Build NeverC from source and set up the local development environment with PATH configuration.
Complete buildable samples demonstrating NeverC's cross-platform compilation capabilities. All examples cross-compile from macOS / Linux.