clang
Compile C, C++, and Objective-C source files. Can be used as a drop-in replacement for GCC. Part of LLVM.
More info →Subcommands (4)
Check basic errors and work with Clang's Abstract Syntax Tree (AST). Part of Clang's LibTooling and is useful for debugging and analyzing C/C++ code.
This command is an alias of `clang++`.
Auto-format C/C++/Java/JavaScript/Objective-C/Protobuf/C# code.
An LLVM-based C/C++ linter to find style violations, bugs, and security flaws through static analysis.
Options (4)
-o, --outputbooleanCompile multiple source files into an executable
clang {{path/to/source1.c path/to/source2.c ...}} {{[-o|--output]}} {{path/to/output_executable}}-g, --debugbooleanShow common warnings, debug symbols in output, and optimize without affecting debugging
clang {{path/to/source.c}} -Wall {{[-g|--debug]}} -Og {{[-o|--output]}} {{path/to/output_executable}}-S, --assemblebooleanCompile source code into LLVM Intermediate Representation (IR)
clang {{[-S|--assemble]}} -emit-llvm {{path/to/source.c}} {{[-o|--output]}} {{path/to/output.ll}}-c, --compilebooleanCompile source code into an object file without linking
clang {{[-c|--compile]}} {{path/to/source.c}}Examples (8)
Compile multiple source files into an executable
clang path/to/source1.c path/to/source2.c ... [-o|--output] path/to/output_executableActivate output of all errors and warnings
clang path/to/source.c -Wall [-o|--output] output_executableShow common warnings, debug symbols in output, and optimize without affecting debugging
clang path/to/source.c -Wall [-g|--debug] -Og [-o|--output] path/to/output_executableInclude libraries from a different path
clang path/to/source.c [-o|--output] path/to/output_executable -Ipath/to/header -Lpath/to/library -llibrary_nameCompile source code into LLVM Intermediate Representation (IR)
clang [-S|--assemble] -emit-llvm path/to/source.c [-o|--output] path/to/output.llCompile source code into an object file without linking
clang [-c|--compile] path/to/source.cOptimize the compiled program for performance
clang path/to/source.c -O1|2|3|fast [-o|--output] path/to/output_executableDisplay version
clang --version