clang
https://gcc.gnu.org/onlinedocs
http://clang.llvm.org/docs/UsersManual.html
命令行选项
总体 (Overall):
-x language
指定后面的输入文件为语言为 language-c
编译 (compile) 或者汇编 (assemble) 源文件,但是不链接,新文件默认用.o
代替源文件后缀名-S
在编译之后停止,不进行汇编 (assemble), 后缀.s
-E
在预处理 (preprocessing) 之后停止,不进行编译 (compile), 输出到标准输出-o file
指定输出文件为file
语言 (Language):
-std=c99
使用 ISO C99 标准
警告 (Warning):
-Wall
开启用户认为可能有问题的所有警告-Wextra
开启额外的不被-Wall
始能的警告-Werror
将警告转换为错误-Wlong-long
如果使用long long
会发出警告-Wno-long-long
关闭-Wlong-long
选项-Wvariadic-macros
如果定义了可变参数的宏会发出警告-Wno-variadic-macros
关闭-Wvariadic-macros
选项-fexceptions
当出现了异常,不会退出-DNDEBUG
assert 被关闭
预处理 (Preprocessor):
-I dir
将dir
添加到头文件搜索路径中,在系统标准目录之前, 如果其指定的目录包括系统标准目录,则被忽略-isystem dir
添加到头文件搜索路径中,在用-I
指定的目录之后,在系统标准目录之前
环境变量
CPATH
将其所指向的目录添加到系统头文件搜索目录C_INCLUDE_PATH
,OBJC_INCLUDE_PATH
,CPLUS_INCLUDE_PATH
,OBJCPLUS_INCLUDE_PATH
, 类似CPATH
, 针对的是特定的语言LIBRARY_PATH
将其所指向的目录添加到系统链接库搜索目录