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当出现了异常,不会退出-DNDEBUGassert 被关闭
预处理 (Preprocessor):
-I dir将dir添加到头文件搜索路径中,在系统标准目录之前, 如果其指定的目录包括系统标准目录,则被忽略-isystem dir添加到头文件搜索路径中,在用-I指定的目录之后,在系统标准目录之前
环境变量
CPATH将其所指向的目录添加到系统头文件搜索目录C_INCLUDE_PATH,OBJC_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJCPLUS_INCLUDE_PATH, 类似CPATH, 针对的是特定的语言LIBRARY_PATH将其所指向的目录添加到系统链接库搜索目录