Hexagon LLVM编译架构介绍(4)
3.4.1 显示
参数 | 描述 |
---|---|
-help | 显示编译器命令和选项摘要。 |
-v | 显示编译器发布版本。 |
3.4.2 编译
参数 | 描述 |
---|---|
-### | 用于执行编译的打印命令。 |
-C | 编译源文件,但不链接它 |
-E | 仅预处理源文件,不编译它。 |
-S | 编译源文件,但不汇编它。 |
-pipe | 使用管道而不是临时文件在编译器阶段之间进行通信。 |
-o file | 指定编译器输出文件的名称。 |
-Wp,arg[,arg…] | 将指定的参数传递给预处理器。 |
-Wa,arg[,arg…] | 将指定的参数传递给汇编程序。 |
-Wl,arg[,arg…] | 将指定的参数传递给链接器。 |
-x language | 指定在命令行上指定的后续源文件的语言。 |
3.4.3 C dialect
参数 | 描述 |
---|---|
-ansi | 对于 C,支持 ISO C90。 对于 C++,删除冲突的 GNU 扩展。 |
-fno-asm | 不要将 asm、inline 或 type 识别为关键字。 |
-fno-builtin | 不识别缺少 __builtin 前缀的内置函数。 |
-ffreestanding | 为独立环境编译。 |
-fgnu-runtime | 生成与标准 GNU Objective-C 运行时兼容的输出。 |
-fgnu89-inline | 使用 gnu89 内联语义。 |
-fsigned-bitfields | 将位域定义为有符号的。 |
-fsigned-char | 将字符类型定义为有符号。 |
-funsigned-char | 将 char 类型定义为无符号。 |
-no-integrated-cpp | 使用单独的预处理和编译阶段进行编译。 |
-std=standard | 指定语言标准。 |
-traditional /-traditional-cpp | 支持预标准 C 语言。 |
-trigraphs | 支持 ISO C 三字符。 |
-Wpointer-sign | 在分配或传递具有不同符号的值时标记指针。 |
3.4.4 C++ dialect
参数 | 描述 |
---|---|
-cxx-isystem dir | 将指定目录添加到 C++ SYSTEM 包含搜索路径。 |
-fno-access-control | 禁用访问检查。 |
-fno-elide-constructors | 不要删除用于初始化相同类型的其他对象的临时对象。 |
-ffor-scope/ -fno-for-scope | 控制在 for 语句中声明的变量的范围是限于该语句还是包含该语句的范围。 |
-fno-gnu-keywords | 禁用将 typeof 识别为关键字。 |
-fms-extensions | 禁用 MFC 构造的警告。 |
-fno-operator-names | 禁止使用 and、bitand、bitor、compl、not、or 和 xor 作为运算符符号。 |
-fno-rtti | 禁用生成由 C++ 运行时类型 ID 操作 dynamic_cast 和 typeid 使用的类信息。 |
-ftemplate-depth-n | 指定模板类的最大实例化深度。 |
-fno-threadsafe-statics | 不要生成代码以确保局部静态变量的线程安全初始化。 |
-fvisibility-inlines-hidden | 指定内联 C++ 成员函数的默认可见性。 |
-fuse-cxa-atexit | 使用函数 __cxa_atexit(而不是 atexit)注册析构函数。 这仅适用于具有静态存储持续时间的对象。 |
-nobuiltinc | 禁用内置 #include 目录。 |
-nostdinc++ | 禁用 C++ 标准库的标准 #include 目录。 |
-Wc++0x-compat | 为 ISO C++ 1998 和 ISO C++ 200x 中具有不同语义的 C++ 构造生成警告。 |
-Wno-deprecated | 使用不推荐使用的功能时不要生成警告。 |
-Wnon-virtual-dtor | 当使用非虚拟析构函数声明多态类时生成警告。 |
-Woverloaded-virtual | 当函数对基类隐藏虚函数时生成警告。 |
-Wreorder | 当成员初始值设定项未按所需的执行顺序出现在代码中时生成警告。 |