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 containingcompile_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 thefakechecks
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.