Native Shell
Native Shell:AI 生成的 UI,在你的應用中原生呈現,涵蓋每個平台。iOS、Android、macOS、Windows 與 Linux 上的應用、GPUI 應用與網頁在執行時載入已簽名、沙箱隔離的 TSX 模組並繪製 th
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Experimental C++ compiler built on the EDG front end (Apache 2.0). See docs/DESIGN.md; docs/README.md
indexes the notes and gives the current status and known limitations, test by test.
git submodule update --init --depth 1 # fetch 3rd/edg
scripts/setup-edg.sh # build EDG (3rd/edg submodule) into build/edg (~3 min)
scripts/setup-qbe.sh # build QBE + cproc (3rd/qbe, 3rd/cproc) into build/
scripts/setup-mruby.sh # the mruby interpreter that runs the helper scripts (needs ruby + rake once); built on first use otherwise
scripts/setup-cppfront.sh # cppfront v0.8.2 (Cpp2 to C++1) into build/, for .cpp2 inputs (experimental; docs/notes/cpp2.md)
./nfcxx hello.cpp2 -o hello # Cpp2: cppfront translates it, then the C++ pipeline above (experimental)
tests/cpp2/run.sh # Cpp2 inputs: build, -c and link, mixed with .cpp, includes, a syntax error (experimental)
./nfcxx hello.cpp -o hello # C++ -> C -> cproc -> QBE -> asm (default backend)
./nfcxx --backend=gcc ... # C++ -> C -> gcc -O2 -fwrapv -fno-strict-aliasing
./nfcxx --emit-c hello.cpp # print the generated C
./nfcxx -fsanitize=address x.cpp -o x # AddressSanitizer via the gcc backend (docs/notes/asan.md); tests/asan/run.sh
./nfcxx -fsafe-pointers x.cpp -o x # Fil-C-style pointer checks on Path B, prototype (docs/notes/safe-pointers.md); tests/safeptr/run.sh
./nfcxx --trace=t.json x.cpp # Chrome/Perfetto trace of the driver steps (docs/notes/tracing.md)
./nfcc -c x.c -o x.o # drop-in cc for C, for make/rake/autoconf (docs/notes/realworld.md)
tests/run.sh # regression cases in tests/cases (// EXPECT: <exit code>); C++17 evaluation order: docs/notes/eval-order.md
./nfcxx x.cpp # GNU extended inline asm (__asm__) on the qbe backend: lowered to out-of-line thunks, x86_64 (docs/notes/inline-asm.md); tests/c/inline_asm_*.c
./nfcxx --freestanding x.cpp # headers from lib/ only, no hosted libc++/libstdc++ (docs/notes/freestanding.md)
tests/lib/run.sh # freestanding library tests (both backends)
tests/builtins/run.sh # compiler builtin probes (docs/notes/builtins.md)
./nfcxx -shared x.cpp -o x.so # shared object; lib/eval/ evaluates C++ snippets at run time (docs/notes/eval.md)
tests/eval/run.sh # nfceval library and -shared (both backends)
tests/ffi/run.sh # nfcffi (lib/ffi): C compiled at run time, called through C++ function types (docs/notes/ffi.md)
./nfcxx --bundle-libs x.cpp -o x # copy libstdc++, libgcc_s and the program's own .so files into x (also -shared, nfcc; docs/notes/bundle.md)
tests/bundle/run.sh # nfcbundle: bundled executables and shared objects run without their libraries (both backends)
LIBTORCH=dir tests/bundle/torch.sh # libtorch with CUDA bundled into one 2.4 GB program, plugins through --bundle-stubs (by hand)
./nfcc app.c -lcuda -o app # -lcuda (or CMake's CUDA::cuda_driver) goes through libcudart: no libcuda.so.1 to link or start (docs/notes/cuda-driver.md)
tests/cuda/driver/run.sh # the driver shim against a stand-in libcudart and the real one (needs CUDA_HOME headers)
scripts/setup-poly.sh # mruby built with C++ exceptions for lib/poly (NFCXX_BACKEND=qbe|gcc; needs ruby + rake once)
scripts/setup-poly-lua.sh # Lua 5.4 built with C++ exceptions for lib/poly (Python uses the system python3-dev)
scripts/setup-poly-js.sh # QuickJS-NG (plain C, patched for cproc) for lib/poly
scripts/setup-poly-go.sh # yaegi, a Go interpreter, in a cgo shared library for lib/poly (needs Go >= 1.24 and the Go module proxy; one library for both back ends)
tests/poly/run.sh # nfcpoly: evaluate Ruby, Lua, Python, JavaScript, Go and ast from C++ with bound host objects, exceptions across the boundary (both backends; docs/notes/poly.md)
tests/ast/run.sh # nfcast (lib/ast): the self-specializing AST interpreter with inlining of small functions and a tier for hot numeric kernels, checked against a real Lua 5.4 (both backends; docs/notes/ast.md)
scripts/sycl-build.sh prog.cpp -o prog # SYCL 2020 subset (lib/sycl): kernels to WGSL, run through WebGPU; --cpu for plain loops (docs/notes/sycl-webgpu.md)
tests/sycl/run.sh # SYCL programs on the host path and on WebGPU (Chromium/SwiftShader through Playwright), traps and refusals
scripts/linux-qemu.sh # minimal x86_64 Linux 6.8 (tinyconfig) + busybox initramfs, booted under qemu-system-x86_64; KCC=nfcc builds it with nfcc (docs/notes/linux-kernel.md)
./nfcxx --cosmo hello.c -o hello.com # Cosmopolitan: cosmocc (APE binary, runs on several OSes) via scripts/setup-cosmo.sh; C only so far (docs/notes/cosmo.md)
scripts/setup-pathb.sh # Path B harness (own back end on EDG's IL); then tests/pathb{,-ir,-qbe}/run.sh (docs/notes/pathb-stage3.md)
./nfcxx -c a.cpp -o a.o; ./nfcxx a.o b.o -o x # separate compilation (docs/notes/multi-tu.md)
tests/multi-tu/run.sh # several translation units sharing libstdc++ templates (both backends)
tests/ehshim/run.sh # exceptions thrown by libstdc++ and std::exception_ptr (lib/ehshim, docs/notes/eh-shim.md)
scripts/setup-sqlite.sh # SQLite 3.54.1 built with nfcc into build/sqlite (docs/notes/sqlite.md)
tests/sqlite/run.sh # lib/sqlcache (a TTL key-value cache on SQLite) built with nfcxx on both backends
scripts/setup-libclang-edg.sh # libclang's C API on the EDG front end: cpfe that lists declarations (docs/notes/libclang-edg.md)
scripts/build-libclang-edg.sh # build/libclang-edg/libclang-edg.so, a libclang-compatible shared library
tests/libclang-edg/run.sh # the library against the system libclang, through the C API and clang.cindex
Which workflow runs which test script: docs/README.md, "Status matrix".
License: nfcxx is MIT (LICENSE). Third-party code under 3rd/ and the SQLite bundle keeps its own license.