System headers
from cpp import vector
from cpp import algorithm
values: std.vector[i32] = [4, 1, 3]
std.sort(values.begin(), values.end())Library paths and aliases
from c.path import SDL3/SDL.h as sdl
from cpp.path import glm/glm.hpp as glm
window = sdl.SDL_CreateWindow("dudu", 960, 540, 0)
direction = glm.normalize(glm.vec3(1.0, 2.0, 3.0))What the compiler understands
- C records, unions, typedefs, enums, functions, globals, and callable function pointers.
- C++ namespaces, overloads, classes, constructors, methods, templates, aliases, and selected specializations.
- Canonical Clang symbol identities for hover, navigation, references, overload selection, and diagnostics.
- Pointer, reference, const, size, alignment, and native source-location metadata.
Build integration
dudu build generates per-module C++ and uses CMake as the native ecosystem backend. Projects can provide C/C++ sources, include paths, libraries, package-config dependencies, toolchain files, and user-owned CMake configuration.
No fake universal compatibility claim. Macro-generated declarations, unusual template metaprogramming, platform SDKs, and libraries requiring custom CMake logic may need explicit project configuration or native glue. Those boundaries are documented and tested rather than silently guessed.
Validated library classes
The compatibility suite covers the C and C++ standard libraries plus representative SDL3, raylib, ImGui, glm, SQLite, POSIX, OpenCL/Vulkan/GLFW/FFmpeg-style APIs when dependencies are available.