这是命令 castxml 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
castxml - 创建 C++ 声明的 XML 表示
概要
演员表 ( | | )...
商品描述
castxml 解释的选项如下所列。 剩下的选项被给予
内部 Clang 编译器。
配置
--castxml-cc-
--castxml-cc-“(” ……“)”
配置内部 Clang 预处理器和目标平台以匹配
给定的编译器命令。 这必须是“gnu”、“msvc”、“gnu-c”或“msvc-c”。
命名编译器(例如“gcc”)和... 指定可能的选项
影响其目标(例如“-m32”)。
--castxml-gccxml
将 gccxml 格式的输出写入.xml 或以“-o”命名的文件
--castxml-开始 [, ]...
在具有给定(限定)名称的声明处开始 AST 遍历。 多种的
名称可以指定为逗号分隔的列表或重复选项。
-救命, - 帮帮我
打印 castxml 和内部 Clang 编译器使用信息
-o
将输出写入
- 版
打印 castxml 和内部 Clang 编译器版本信息
下面显示了内部 Clang 编译器的帮助。
-------------------------------------------------- -------------
概述:clang LLVM 编译器
用法:clang [选项]
选项:
-### 打印(但不运行)要为此编译运行的命令
- 分析
运行静态分析器
-arcmt-迁移-发射-错误
即使迁移者可以修复它们,也会发出 ARC 错误
-arcmt-迁移报告输出
plist 报告的输出路径
--cuda-仅设备
只做设备端 CUDA 编译
--cuda-仅主机
只做主机端 CUDA 编译
-cxx-i系统
将目录添加到 C++ SYSTEM 包含搜索路径
-c 只运行预处理、编译和组装步骤
-DD 打印宏定义 -E 除了正常输出的模式
-依赖点 将 DOT 格式的标头依赖项写入到的文件名
-依赖文件
将依赖项输出写入的文件名(或 -)
-dM 打印宏定义 -E 模式而不是正常输出
-Emit-ast
为源输入发出 Clang AST 文件
-emit-llvm.
对汇编程序和目标文件使用 LLVM 表示
-E 只运行预处理器
-Faltivec.
启用 AltiVec 向量初始值设定项语法
-fansi-转义码
使用 ANSI 转义码进行诊断
-fapple-kext
使用 Apple 的内核扩展 ABI
-fapple-pragma-pack
启用 Apple gcc 兼容的 #pragma 包处理
-f应用程序扩展 将代码限制为可用于应用扩展的代码
-f块
启用“块”语言功能
-fborland 扩展
接受 Borland 编译器支持的非标准结构
-fbuild-会话文件=
使用上次修改时间作为构建会话时间戳
-fbuild-会话-时间戳=
当前构建会话开始的时间
-fcolor-诊断
在诊断中使用颜色
-fcomment-block-commands=
处理每个逗号分隔的参数作为文档注释块
命令
-f覆盖映射
生成覆盖映射以启用代码覆盖分析
-fcxx-异常
启用 C++ 异常
-fdata-sections.
将每个数据放在自己的部分中(仅限 ELF)
-fdebug-types-节
将调试类型放在它们自己的部分中(仅限 ELF)
-fdelayed-模板解析
在翻译单元的末尾解析模板化函数定义
-fdiagnostics-可解析-修复
以机器可解析的形式打印 fix-its
-fdiagnostics-打印-源-范围-信息
以数字形式打印源范围跨度
-fdiagnostics-显示注释-包含堆栈
显示包括诊断说明的堆栈
-fdiagnostics 显示选项
带有可映射诊断的打印选项名称
-fdiagnostics 显示模板树
打印不同模板的模板比较树
-fdollars-in-标识符
允许在标识符中使用“$”
-femit-all-decls
发出所有声明,即使未使用
-f异常
启用对异常处理的支持
-ffast-数学
启用 *frontend* 的“快速数学”模式。 这对优化没有影响,但是
提供与 GCC 相同的预处理器宏 __FAST_MATH__ -ffast-数学 旗
-固定-r9
保留 r9 寄存器(仅限 ARM)
-固定-x18
保留 x18 寄存器(仅限 AArch64)
-ffp-合同=
形成融合的 FP 操作(例如 FMA):快速(无处不在)| 上(根据 FP_CONTRACT
编译指示,默认) | 关闭(从不熔断)
-f独立
断言编译发生在独立环境中
-f函数部分
将每个函数放在自己的部分(仅限 ELF)
-fgnu-关键字
无论语言标准如何,都允许 GNU 扩展关键字
-fgnu-运行时
生成与标准 GNU Objective-C 运行时兼容的输出
-fgnu89-内联
使用 gnu89 内联语义
-f隐式模块映射
隐式搜索文件系统以查找模块映射文件。
-仪器功能
生成对仪器函数入口和出口的调用
-集成为
启用集成汇编器
-fmath-errno
需要数学函数通过设置 errno 来指示错误
-fmax-类型对齐=
指定对缺乏明确对齐的指针强制执行的最大对齐
-fmodule-file =
加载这个预编译的模块文件
-fmodule-map-file =
加载这个模块映射文件
-f模块名称=
指定要构建的模块的名称
-fmodules-cache-path =
指定模块缓存路径
-fmodules-decluse
需要声明模块中使用的模块
-fmodules-忽略宏=
构建和加载模块时忽略给定宏的定义
-Fmodules-剪裁后=
指定考虑模块文件的时间间隔(以秒为单位)
未使用
-fmodules-preune-interval =
指定尝试修剪模块缓存之间的间隔(以秒为单位)
-fmodules-搜索全部
甚至搜索未导入的模块来解析引用
-fmodules-严格-排除
喜欢 -fmodules-decluse 但要求所有标题都在模块中
-fmodules-用户构建路径
指定模块用户构建路径
-fmodules-每次构建会话验证一次
如果模块已成功,则不要验证模块的输入文件
在此构建会话期间验证或加载
-fmodules - 验证 - 系统标题
在加载模块时验证模块所依赖的系统头文件
-f模块
启用“模块”语言功能
-fms-兼容性-版本=
表示要报告的 Microsoft 编译器版本号的点分隔值
_MSC_VER(0 = 不定义(默认))
-fms-兼容性
启用完全的 Microsoft Visual C++ 兼容性
-fms-扩展
接受 Microsoft 编译器支持的一些非标准结构
-fmsc-版本=
要在 _MSC_VER 中报告的 Microsoft 编译器版本号(0 = 不定义它
(默认))
-fno-访问控制
禁用 C++ 访问控制
-fno-假设 sane-operator-new
不要假设 C++ 的全局操作符 new 不能为任何指针做别名
-fno-自动链接
禁止为自动库链接生成链接器指令
-fno-内置-
禁用特定函数的隐式内置知识
-fno 内置
禁用函数的隐式内置知识
-fno-普通
像普通定义一样编译通用全局变量
-fno-常数-cfstrings 禁止创建 CodeFoundation 类型的常量字符串
-fno-诊断-修复信息
不要在诊断中包含 fixit 信息
-fno-dollarm-In-Indifieriers
禁止在标识符中使用“$”
-fno-elide-构造函数 禁用 C++ 复制构造函数省略
-fno-elide 类型
打印诊断时不要省略类型
-fno-gnu-内联-asm
禁用 GNU 风格的内联汇编
-fno-集成-as
禁用集成汇编器
-fno-lax-向量转换
禁止在具有不同元素数量的向量之间进行隐式转换
或不同的元素类型
-fno-数学内置
禁用数学函数的隐式内置知识
-fno-合并所有常量
禁止合并常量
-fno-objc-推断相关结果类型
不根据方法族推断 Objective-C 相关的结果类型
-fno 操作员名称
不要将 C++ 运算符名称关键字视为运算符的同义词
-fno-重新滚动循环
关闭循环重滚器
-fno-rtti
禁用 rtti 信息的生成
-fno-sanitize-黑名单 不要将黑名单文件用于消毒剂
-fno-清理-覆盖范围=
禁用消毒剂的覆盖检测的指定功能
-fno-清理内存轨道起源
在 MemorySanitizer 中禁用源跟踪
-fno-清理-恢复=
禁用指定消毒剂的恢复
-fno-消毒陷阱=
禁用对指定消毒剂的捕获
-fno-短-wchar
强制 wchar_t 为 unsigned int
-fno-显示列
不要在诊断中包含列号
-fno-show-源位置
不要在诊断中包含源位置信息
-fno-签名字符
字符未签名
-fno 有符号零
允许忽略浮点零符号的优化
-fno-拼写检查
禁用拼写检查
-fno-堆栈保护器
禁用堆栈保护器
-fno-独立调试
限制生成的调试信息以减少调试二进制文件的大小
-fno-线程安全-静态 不要发出代码来初始化本地静态线程
安全
-fno-三字母
不处理三字母序列
-fno-展开循环
关闭循环展开器
-fno-使用-cxa-atexit
不要使用 __cxa_atexit 来调用析构函数
-fno-使用初始化数组
不要使用 .init_array 而不是 .ctors
-fobjc-arc-异常
在合成保留和释放时使用 EH 安全代码 -fobjc-弧
-fobjc-弧
合成对 Objective-C 指针的保留和释放调用
-fobjc-异常
启用 Objective-C 异常
-fobjc-仅GC
将 GC 专门用于 Objective-C 相关的内存管理
-fobjc-gc.
启用 Objective-C 垃圾收集
-fobjc-运行时=
指定目标 Objective-C 运行时种类和版本
-fpack-结构=
指定默认的最大结构体包装对齐方式
-fpascal 字符串
识别和构造 Pascal 风格的字符串文字
-fpcc-结构返回
覆盖默认 ABI 以返回堆栈上的所有结构
-fprofile-生成=
生成检测代码以将执行计数收集到
/default.profraw(被 LLVM_PROFILE_FILE 环境变量覆盖)
-fprofile-instr-生成=
生成检测代码以将执行计数收集到(被覆盖
LLVM_PROFILE_FILE 环境变量)
-fprofile-instr-生成
生成检测代码以将执行计数收集到 default.profraw 文件中
(被 '=' 形式的选项或 LLVM_PROFILE_FILE 环境变量覆盖)
-fprofile-instr-use=
使用检测数据进行配置文件引导的优化
-fprofile-样本使用=
启用基于样本的配置文件引导优化
-fprofile-使用=
使用检测数据进行配置文件引导的优化。 如果路径名是
目录,它从/default.profdata。 否则,它从文件中读取
.
-倒数数学
允许重新关联除法操作
-freg-结构返回
覆盖默认 ABI 以返回寄存器中的小结构
-freroll循环
打开循环重滚器
-fsanitize 地址字段填充=
AddressSanitizer 的字段填充级别
-fsanitize-黑名单=
消毒剂黑名单文件的路径
-fsanitize-覆盖=
指定消毒剂的覆盖检测类型
-fsanitize-内存轨道-起源=
在 MemorySanitizer 中启用源跟踪
-fsanitize-内存轨道-起源
在 MemorySanitizer 中启用源跟踪
-fsanitize-Memory-Usif-Detor
在 MemorySanitizer 中启用销毁后使用检测
-fsanitize-恢复=
为指定的消毒剂启用恢复
-fsanitize-陷阱=为指定的消毒剂启用捕获
-fsanitize =.
为各种形式的未定义或可疑行为打开运行时检查。 看
可用检查的用户手册
-fshort-枚举
只为枚举类型分配声明范围所需的字节数
可能的值
-fshort-wchar
强制 wchar_t 是一个短的 unsigned int
-fshow-重载=
当重载解析失败时显示哪些重载候选:最好|全部;
默认为所有
-fsized-解除分配
启用 C++14 大小的全局释放函数
-fslp-矢量化-激进
启用 BB 矢量化通道
-fslp-矢量化
启用超级词级并行向量化通道
-fstack-保护器-所有
强制对所有函数使用堆栈保护器
-fstack-protector-强
使用强启发式将堆栈保护器应用于函数
-fstack-保护器
为可能容易受到堆栈粉碎的函数启用堆栈保护器
-f独立调试
为程序使用的所有类型发出完整的调试信息
-fstrict-枚举
根据枚举值范围的严格定义启用优化
-ftrap 功能=发出对指定函数的调用而不是陷阱指令
-ftrapv-处理程序=
指定溢出时调用的函数
-Ftrapv.
整数溢出陷阱
-ftrigraphs
处理三字符序列
-独特的部分名称
为文本和数据部分使用唯一的名称(仅限 ELF)
- 有趣的循环
打开循环展开器
-熔丝初始化数组
使用 .init_array 而不是 .ctors
-fveclib=
使用给定的向量函数库
-f向量化
启用循环矢量化过程
-fvisibility-inlines-hidden
默认为内联 C++ 成员函数提供默认可见性
-fvisibility-ms-compat
给全局类型“默认”可见性和全局函数和变量“隐藏”
默认可见性
-可见性=
为所有全局声明设置默认符号可见性
-fwrapv
将有符号整数溢出视为二进制补码
-f可写字符串
将字符串文字存储为可写数据
-fz向量
启用 System z 矢量语言扩展
-F
将目录添加到框架包括搜索路径
--gcc-工具链=使用指定目录下的 gcc 工具链
-gdwarf-2
使用 dwarf 版本 2 生成源码级调试信息
-gdwarf-3
使用 dwarf 版本 3 生成源码级调试信息
-gdwarf-4
使用 dwarf 版本 4 生成源码级调试信息
-gline-仅表
仅发出调试行号表
-g 生成源码级调试信息
-救命 显示可用选项
-H 显示标题包含和嵌套深度
-irafter
将目录添加到 AFTER 包含搜索路径
-i框架
将目录添加到 SYSTEM 框架搜索路径
-宏
在解析之前包含文件中的宏
-包括-pch
包含预编译的头文件
-包括
解析前包含文件
-索引标头映射
制作下一个包含目录(-I or -F) 索引器标题映射
-前缀
设置 -i 带前缀/-iwithprefixbefore 前缀
-我引用
将目录添加到 QUOTE 包括搜索路径
-isysroot
设置系统根目录(一般为/)
-ISystem.
将目录添加到 SYSTEM 包括搜索路径
-ivfsoverlay
将 file 描述的虚拟文件系统覆盖在真实文件系统上
-iwithprefixbefore
设置目录以包含带前缀的搜索路径
-i 带前缀
将目录设置为 SYSTEM 包括带前缀的搜索路径
-iwithsysroot
将目录添加到 SYSTEM 包含搜索路径,绝对路径是相对于
-isysroot
-I
添加目录以包含搜索路径
-mabicalls
启用 SVR4 样式的位置无关代码(仅限 Mips)
-mcrc 允许使用 CRC 指令(仅限 ARM)
-医学博士 编写一个包含用户和系统头文件的 depfile
-mfix-皮质-a53-835769 解决方法 Cortex-A53 勘误表 835769(仅限 AArch64)
-mfp32
使用 32 位浮点寄存器(仅限 MIPS)
-mfp64 使用 64 位浮点寄存器(仅限 MIPS)
-MF
写入 depfile 输出 -MMD, -医学博士, -MM或 -M 到
-mgeneral-regs-仅
生成仅使用通用寄存器的代码(仅限 AArch64)
-mglobal-merge.
启用全局变量的合并
-MG 将缺少的头文件添加到 depfile
- 迁移
运行迁移器
-mios-版本-min=
设置 iOS 部署目标
-mlvm
转发到 LLVM 选项处理的附加参数
-mlong 通话
生成间接跳转以启用超过 64M 的跳转
-mmacosx-版本-min=
设置 Mac OS X 部署目标
-MMD 编写一个包含用户头信息的 depfile
-mms-位域
设置默认结构布局与微软编译器兼容
标准
-mmsa 启用 MSA ASE(仅限 MIPS)
-MM 喜欢 -MMD,但也暗示 -E 并默认写入标准输出
-mno-abicalls.
禁用 SVR4 样式的位置无关代码(仅限 Mips)
-mno-修复皮质-a53-835769
不要解决 Cortex-A53 勘误表 835769(仅限 AArch64)
-mno-全球合并
禁用全局变量的合并
-mno-隐式浮动
不要生成隐式浮点指令
-mno-长通话
恢复不产生长调用的默认行为
-mno-msa
禁用 MSA ASE(仅限 MIPS)
-mno-限制它
允许为 ARMv8 生成已弃用的 IT 块。 ARMv8 默认关闭
拇指模式
-mno-未对齐访问
强制对齐所有内存访问(仅限 AArch32/AArch64)
-mnocrc.
禁止使用 CRC 指令(仅限 ARM)
-module依赖性 - 目录
将模块依赖项转储到的目录
-momit 叶帧指针
省略叶函数的帧指针设置
-MP 为每个依赖项(主文件除外)创建虚假目标
-mqdsp6-compat.
启用六角-qdsp6 向后兼容性
-MQ
指定主文件输出的名称以在 depfile 中引用
-mrelax-全部
(integrated-as) 放宽所有机器指令
-m限制它
禁止为 ARMv8 生成已弃用的 IT 块。 默认情况下为
ARMv8 拇指模式。
-mrtd. 将 StdCall 调用约定设为默认值
-msoft-浮动
使用软件浮点
-mstack-对齐=
设置堆栈对齐
-mstack-探针大小=
设置堆栈探针大小
-mstack重新对齐
在每个函数的入口处强制重新对齐堆栈
-mthread-模型
要使用的线程模型,例如 posix、single(默认为 posix)
-公吨
在 depfile 中指定主文件输出的名称
-munaligned-访问
允许未对齐的内存访问(仅限 AArch32/AArch64)
-mv. 对 depfile 使用 NMake/Jom 格式
-M 喜欢 -医学博士,但也暗示 -E 并默认写入标准输出
--无系统标头前缀=
处理所有以 #include 开头的路径因为不包括系统标题。
-nobuiltinc
禁用内置 #include 目录
-nostdinc++
禁用 C++ 标准库的标准 #include 目录
-对象++
将源输入文件视为 Objective-C++ 输入
-objcmt-原子属性 迁移到“原子”属性
-objcmt-迁移-全部
支持迁移到现代 ObjC
-objcmt-迁移注释
启用迁移到属性和方法注释
-objcmt-迁移-指定-init
启用迁移以推断初始化方法的 NS_DESIGNATED_INITIALIZER
-objcmt-迁移实例类型
启用迁移以推断方法结果类型的实例类型
-objcmt-migrate - 文字
启用迁移到现代 ObjC 文字
-objcmt-迁移-ns-宏
启用迁移到 NS_ENUM/NS_OPTIONS 宏
-objcmt-迁移属性点语法
启用 setter/getter 消息到属性点语法的迁移
-objcmt-迁移属性
启用迁移到现代 ObjC 属性
-objcmt 迁移协议一致性
启用迁移以在类上添加协议一致性
-objcmt-迁移只读属性
启用迁移到现代 ObjC 只读属性
-objcmt-迁移读写属性
启用迁移到现代 ObjC 读写属性
-objcmt-迁移下标
支持迁移到现代 ObjC 下标
-objcmt-ns-非原子-iosonly
启用迁移以使用 NS_NONATOMIC_IOSONLY 宏来设置属性的“原子”
属性
-objcmt-返回-innerpointer-属性
启用迁移以使用 NS_RETURNS_INNER_POINTER 注释属性
-objcmt-白名单目录路径=
只修改文件名包含在提供的目录路径中的文件
-对象 将源输入文件视为 Objective-C 输入
-o
将输出写入
-PG. 启用 mcount 检测
-管 尽可能在命令之间使用管道
-打印文件名=打印完整的库路径
-Print-Ivar-布局
启用 Objective-C Ivar 布局位图打印跟踪
-print-libgcc-文件名 打印“libgcc.a”的库路径
-打印程序名称=打印完整的程序路径
-打印搜索目录
打印用于查找库和程序的路径
-p线程
在生成的代码中支持 POSIX 线程
-P 禁用 linemarker 输出 -E 模式
争论的论点
不要对未使用的驱动程序参数发出警告
-可重定位-pch
是否构建可重定位的预编译头
-重写遗留-objc
将旧版 Objective-C 源代码重写为 C++
-重写-objc
将 Objective-C 源代码重写为 C++
-Rpass-分析=来自优化通行证名称的报告转换分析
匹配给定的 POSIX 正则表达式
-Rpass-错过=
通过名称与给定匹配的优化传递报告丢失的转换
POSIX 正则表达式
-rpass =
由名称匹配的优化传递执行的报告转换
给定 POSIX 正则表达式
-R
启用指定的备注
-save-temps =
保存中间编译结果。
-保存临时
保存中间编译结果
-序列化诊断
将编译器诊断序列化为文件
-标准=
要编译的语言标准
-标准库=
要使用的 C++ 标准库
--系统标头前缀=
处理所有以 #include 开头的路径包括系统标题。
-S 只运行预处理和编译步骤
--目标=
为给定目标生成代码
-时间 时间个别命令
-传统-cpp
启用一些传统的 CPP 仿真
-三合字母
处理三字符序列
-undef undef 所有系统定义
--验证调试信息
验证调试输出的二进制表示
-验证-pch
加载并验证预编译的头文件是否过时
-v 显示运行和使用详细输出的命令
-哇,
传递逗号分隔的参数给装配工
-Wl,
传递逗号分隔的参数到链接器
-工作目录
解析相对于指定目录的文件路径
-WP,
传递逗号分隔的参数到预处理器
-W
启用指定的警告
-w 禁止所有警告
-xanalyzer.
经过到静态分析器
-X汇编程序
经过给装配工
-Xclang
经过到 clang 编译器
-Xlinker
经过到链接器
-X预处理器
经过到预处理器
-x
将后续输入文件视为具有类型
-z
通过 -z 到链接器
CastXML 项目由 Kitware (kitware.com) 维护和支持。
Ubuntu clang 版本 3.7.1-1ubuntu4 (tags/RELEASE_371/final)(基于 LLVM 3.7.1)目标:
x86_64-pc-linux-gnu 线程模型:posix
使用 onworks.net 服务在线使用 castxml