C2Rust Transpiler

    • —fail-on-error - Fail instead of warning if a source file cannot be fullytranslated.
    • —reduce-type-annotations - Do not emit explicit type annotations whenunnecessary.
    • —translate-asm - Translate C inline assembly into corresponding Rust inlineassembly. The translated assembly is unlikely to work as-is due to differencesbetween GCC and LLVM (used in Rust) inline assembly styles, but it can providea starting point for manual translation.
    • -f <regex>, —filter <regex> - Only translate files based on the regularexpression used.
    • -m <main_module>, —main <main_module> - Emit cargo build files to buildthe translated Rust code as a binary. The main function must be found in thespecified module (C source file) <main_module>. <main_module> should bethe bare module name, not including the .rs extension. Build files areemitted in the directory specified by , or if not specified, thedirectory containing compile_commands.json. This will not overwrite existingfiles, so remove this build file directory before re-creating buildfiles. (implies —emit-build-files)
    • -x, —cross-checks - Add macros and build files for cross-checking.
    • —use-fakechecks - Link against the fakechecks library for cross-checkinginstead of using the default online checks.
    • -X <config>, —cross-check-config <config> - Use the given config file asthe cross-checking config.