Clang 项目属性 (Android C++)

properties 描述 选项
附加包含目录 指定一个或多个要添加到包含路径中的目录;存在多个目录时,请用分号分隔。 (-Ipath)。
调试信息格式 指定编译器生成的调试信息的类型。 - 没有生成调试信息,因此编译可能会更快。
完全调试信息 (DWARF2) - 生成了 DWARF2 调试信息
行号信息 - 仅生成行号信息
对象文件名 指定一个名称以替代默认对象文件名;可以是文件或目录名。 (/Foname)。
警告级别 选择编译器对代码错误的严格程度。 其他标志应直接添加到附加选项。 (/w、/Weverything)。 关闭所有警告 - 禁用所有编译器警告
EnableAllWarnings - 启用所有警告,包括默认情况下禁用的所有警告
将警告视为错误 将所有编译器警告视为错误。 对于新项目,最好在所有编译中使用 /WX;对所有警告进行解析可确保将可能难以发现的代码缺陷减至最少。
启用详细模式 显示要运行的命令,并使用详细输出。
Optimization 指定应用程序的优化级别。 自定义 - 自定义优化
禁用 - 禁用优化
使大小最小化 - 优化尺寸
使速度最大化 - 优化速度
完全优化 - 成本高昂的优化
严格别名 假设使用最严格的别名规则。 永远不会假定一种类型的对象与不同类型的对象位于相同的地址。
省略框架指针 禁止在调用堆栈上创建帧指针。
启用 C++ 异常 指定将由编译器使用的异常处理模型。 否 - 禁用异常处理
- 启用异常处理。
展开表 - 生成任何所需的静态数据,但不会影响生成的代码
启用函数级别链接 允许编译器以打包函数 (COMDAT) 形式对各个函数进行打包。 需进行此操作后才能编辑并继续工作。 (ffunction-sections)。
启用数据级别链接 启用链接器优化,通过在一个独立的分区中发出每个数据项来删除未使用的数据。
启用高级 SIMD (Neon) 针对 NEON 浮点硬件启用代码生成。 仅适用于 ARM 架构。
浮点 ABI 选择浮点 ABI 选项。 Soft -“Soft”可使编译器生成包含浮点运算库调用的输出
SoftFP -“SoftFP”允许使用硬件浮点指令生成代码,但仍然使用软浮点调用约定
Hard - 使用“Hard”,可以生成浮点指令,并使用 FPU 专用调用约定。
安全检查 安全检查有助于检查堆栈缓冲区是否超负荷运行,它是一种常见的尝试攻击程序安全的命令。 (fstack-protector)。 禁用安全检查 - 禁用安全检查
启用安全检查 - 启用安全检查。 (fstack-protector)
位置无关代码 生成位置无关代码 (PIC) 以便在共享库中使用。
使用短枚举 枚举类型仅用作可能值的输入集需要的字节数。
启用运行时类型信息 添加在运行时检查 C++ 对象类型(运行时类型信息)的代码。 (frtti、fno-rtti)
C 语言标准 确定 C 语言标准。 默认
C89 - C89 语言标准
C99 - C99 语言标准
C11 - C11 语言标准。
C99 (GNU Dialect) - C99 (GNU Dialect) 语言标准
C11 (GNU Dialect) - C11 (GNU Dialect) 语言标准
C++ 语言标准 确定 C++ 语言标准。 默认
C++03 - C++03 语言标准
C++11 - C++11 语言标准
C++14 - C++14 语言标准
C++03 (GNU Dialect) - C++03 (GNU Dialect) 语言标准
C++11 (GNU Dialect) - C++11 (GNU Dialect) 语言标准。
C++14 (GNU Dialect) - C++14 (GNU Dialect) 语言标准
预处理器定义 为源文件定义预处理符号。 (-D)
取消定义预处理器定义 为预处理器指定一个或多个取消定义。 (-U macro)
取消所有预处理器定义 取消以前定义的所有预处理器值。 (-undef)
显示包含文件 生成包含文件的列表及编译器输出。 (-H)
预编译头 创建/使用预编译标头:在生成期间启用创建或使用预编译标头。 使用 - 使用预编译标头
不使用预编译标头 - 不使用预编译标头
预编译标头文件 指定用于预编译标头文件的标头文件名。 该文件也在生成过程中添加到“强制包含文件”中
预编译标头输出文件目录 指定生成的预编译标头的目录。 在构建过程中,此目录也会添加到“其他包含目录”中
将预编译标头编译为 选择预编译标头文件的编译语言选项(-x c-header、-x c++-header)。 编译为 C 代码 - 编译为 C 代码
编译为 C++ 代码 - 编译为 C++ 代码
编译为 选择 .c.cpp 文件的编译语言选项。 “默认”将基于 .c.cpp 扩展进行检测。 (-x c、-x c++) 默认 - 默认代码
编译为 C 代码 - 编译为 C 代码
编译为 C++ 代码 - 编译为 C++ 代码
强制包含文件 一个或多个强制包含文件。 (-include name)
多处理器编译 多处理器编译。
其他选项 其他选项。