当前位置: 首页 > news >正文

aflplusplus:开源的模糊测试工具!全参数详细教程!Kali Linux教程!(二)

使用

afl-c++

871. -mno-abicalls

禁用 SVR4 样式的位置无关代码(仅限 Mips)

872. -mno-amdgpu-precise-memory-op

禁用精确内存模式(仅限 AMDGPU)

873. -mno-apx-features=<value>

禁用 APX 功能

874. -mno-bti-at-return-twice

不要在 setjmp 或其他 return-twice 结构后添加 BTI 指令(仅限 Arm/AArch64)

875. -mno-constructor-aliases

尽可能禁用将完整的构造函数和析构函数作为别名发出

876. -mno-crc

禁止使用 CRC 指令(仅限 Mips)

877. -mno-cumode

指定 WGP 波前执行模式(仅限 AMDGPU)

878. -mno-daz-ftz

程序启动时,不要全局设置浮点控制寄存器中的非正规数为零 (DAZ) 和清零 (FTZ) 位

879. -mno-embedded-data

如果常量满足 -G <size> 阈值 (MIPS),则不要将其放置在 .rodata 段中,而要将其放置在 .sdata 段中。

880. -mno-execute-only

允许生成对代码段的数据访问(仅限 ARM)

881. -mno-extern-sdata

如果外部定义的数据满足 -G <size> 阈值 (MIPS),则不要将其假定为位于小数据段中。

882. -mno-fix-cmse-cve-2021-35465

不处理 VLLDM 勘误 CVE-2021-35465(仅限 ARM)

afl-cc -o target target.c -mno-abicalls -mno-amdgpu-precise-memory-op -mno-apx-features=test -mno-bti-at-return-twice -mno-constructor-aliases -mno-crc -mno-cumode -mno-daz-ftz -mno-embedded-data -mno-execute-only -mno-extern-sdata -mno-fix-cmse-cve-2021-35465

883. -mno-fix-cortex-a53-835769

不解决 Cortex-A53 勘误表 835769(仅限 AArch64)

884. -mno-fix-cortex-a57-aes-1742098

不解决 Cortex-A57 勘误表 1742098(仅限 ARM)

885. -mno-fix-cortex-a72-aes-1655431

不解决 Cortex-A72 勘误表 1655431(仅限 ARM)

886. -mno-fmv

禁用函数多版本控制

887. -mno-forced-sw-shadow-stack

启用影子堆栈时不强制使用软件影子堆栈

888. -mno-gather

禁用自动矢量化中收集指令的生成(仅限 x86)

889. -mno-global-merge

禁用全局函数合并

890. -mno-gpopt

不使用 GP 相对访问已知位于小型数据段 (MIPS) 的符号

891. -mno-hvx-ieee-fp

禁用 Hexagon HVX IEEE 浮点

892. -mno-hvx-qfloat

禁用 Hexagon HVX QFloat 指令

893. -mno-hvx

禁用 Hexagon 矢量扩展

894. -mno-implicit-float

不生成隐式浮点或矢量指令

895. -mno-incremental-linker-compatible

(integrated-as) 生成无法与增量链接器一起使用的目标文件

896. -mno-lasx

禁用龙芯高级 SIMD 扩展 (LASX)。

afl-cc -o target target.c -mno-fix-cortex-a53-835769 -mno-fix-cortex-a57-aes-1742098 -mno-fix-cortex-a72-aes-1655431 -mno-fmv -mno-forced-sw-shadow-stack -mno-gather -mno-global-merge -mno-gpopt -mno-hvx-ieee-fp -mno-hvx-qfloat -mno-hvx -mno-implicit-float -mno-incremental-linker-compatible -mno-lasx

897. -mno-local-sdata

不将 -G 行为扩展至对象本地数据 (MIPS)

898. -mno-long-calls

恢复不生成长调用的默认行为

899. -mno-lsx

禁用龙芯 SIMD 扩展 (LSX)。

900. -mno-lvi-cfi

禁用负载值注入 (LVI) 的控制流缓解措施

901. -mno-lvi-hardening

禁用负载值注入 (LVI) 的缓解措施

902. -mno-madd4

禁用 4 操作数 madd.s、madd.d 及相关指令的生成。

903. -mno-memops

禁用 memop 指令生成

904. -mno-movt

禁止使用 movt/movw 对(仅限 ARM)

905. -mno-ms-bitfields

不将默认结构布局设置为与 Microsoft 编译器标准兼容

906. -mno-msa

禁用 MSA ASE(仅限 MIPS)

907. -mno-mt

禁用 MT ASE(仅限 MIPS)

908. -mno-neg-immediates

禁止将带有负立即数的指令转换为其取反或取反。

909. -mno-nvj

禁用生成新值跳转指令

910. -mno-nvs

禁用生成新值存储指令

911. -mno-outline-atomics

不生成对线外原子操作的本地调用

912. -mno-outline

禁用函数大纲(仅限 AArch64)

913. -mno-packets

禁用生成指令包

914. -mno-pic-data-is-text-relative

不假设数据段相对于文本段

afl-cc -o target target.c -mno-local-sdata -mno-long-calls -mno-lsx -mno-lvi-cfi -mno-lvi-hardening -mno-madd4 -mno-memops -mno-movt -mno-ms-bitfields -mno-msa -mno-mt -mno-neg-immediates -mno-nvj -mno-nvs -mno-outline-atomics -mno-outline -mno-packets -mno-pic-data-is-text-relative

915. -mno-regnames

编写汇编输出时仅使用寄存器编号

916. -mno-relax

禁用链接器放宽

917. -mno-restrict-it

允许生成复杂的 IT 块

918. -mno-save-restore

禁用使用库调用进行保存和恢复

919. -mno-scalar-strict-align

允许标量内存访问不对齐(仅限 RISC-V)

920. -mno-scatter

禁用自动矢量化中生成散射指令(仅限 x86)

921. -mno-seses

禁用推测执行副作用抑制 (SESES)

922. -mno-stack-arg-probe

禁用默认启用的堆栈探测

923. -mno-strict-align

允许内存访问不对齐(仅限 AArch64/LoongArch/RISC-V)

924. -mno-tgsplit

禁用线程组拆分执行模式(仅限 AMDGPU)

925. -mno-tls-direct-seg-refs

禁用通过段寄存器直接进行 TLS 访问

926. -mno-tocdata=<value>

指定要免于 TOC 数据转换的变量列表。

927. -mno-tocdata

这是默认值。 TOC 数据转换不适用于任何变量。只有在 -mtocdata= 中明确指定的变量才会进行 TOC 数据转换。

928. -mno-unaligned-access

强制所有内存访问对齐(仅限 AArch32/MIPSr6)

afl-cc -o target target.c -mno-regnames -mno-relax -mno-restrict-it -mno-save-restore -mno-scalar-strict-align -mno-scatter -mno-seses -mno-stack-arg-probe -mno-strict-align -mno-tgsplit -mno-tls-direct-seg-refs -mno-tocdata=test -mno-tocdata -mno-unaligned-access

929. -mno-unaligned-symbols

要求外部字符对齐符号不进行 ABI 对齐(仅限 SystemZ)

930. -mno-vector-strict-align

允许向量内存访问不对齐(仅限 RISC-V)

931. -mno-wavefrontsize64

指定 wavefront size 为 32 的模式(仅限 AMDGPU)

932. -mnocrc

禁止使用 CRC 指令(仅限 ARM)

933. -mnop-mcount

将 mcount/__fentry__ 调用生成为 nops。要激活它们,需要先进行修补。

934. -mnvj

启用新值跳转生成

935. -mnvs

启用新值存储生成

936. -module-dependency-dir <value>

模块依赖项转储到的目录

937. -module-file-info

提供特定模块文件的信息

938. -momit-leaf-frame-pointer

省略叶函数的帧指针设置

939. -moutline-atomics

生成对外部原子操作的本地调用

940. -moutline

启用函数大纲(仅限 AArch64)

941. -mpacked-stack

使用打包堆栈布局(仅限 SystemZ)。

942. -mpackets

启用指令包生成

943. -mpad-max-prefix-size=<value>

指定用于填充的最大前缀数量

944. -mpic-data-is-text-relative

假设数据段相对于文本段

afl-cc -o target target.c -mno-unaligned-symbols -mno-vector-strict-align -mno-wavefrontsize64 -mnocrc -mnop-mcount -mnvj -mnvs -module-dependency-dir output -module-file-info  -momit-leaf-frame-pointer -moutline-atomics -moutline -mpacked-stack -mpackets -mpad-max-prefix-size=output -mpic-data-is-text-relative

945. -mprefer-vector-width=<value>

指定自动矢量化的首选矢量宽度。默认为“none”,允许根据目标平台进行选择。

946. -mprintf-kind=<value>

指定 printf 降低方案(仅限 AMDGPU),允许的值为“hostcall”(打印在内核执行期间进行,此方案依赖于 hostcall,这需要系统支持 PCIe 原子操作)和“buffered”(打印在所有内核线程退出后进行,此方案使用 printf 缓冲区,并且不依赖于 PCIe 原子操作支持)。

947. -MP

为每个依赖项(主文件除外)创建虚拟目标。

948. -mqdsp6-compat

启用 hexagon-qdsp6 向后兼容性。

949. -MQ <value>

指定要在 depfile 中引用的主文件输出名称。

950. -mrecip=<value>

控制使用近似倒数和倒数平方根指令,然后进行 <n> 次牛顿-拉夫森细化迭代。 <value> = ( ['!'] ['vec-'] ('rcp'|'sqrt') [('h'|'s'|'d')] [':'<n>] ) | 'all' | 'default' | 'none'

951. -mrecip

等同于 '-mrecip=all'

952. -mrecord-mcount

为每个 __fentry__ 调用生成一个 __mcount_loc 段条目。

953. -mregnames

编写汇编输出时使用完整的寄存器名称。

954. -mrelax-all

(integrated-as) 放宽所有机器指令。

955. -mrelax

启用链接器放宽。

956. -mrestrict-it

禁止生成复杂的 IT 块。默认关闭。

957. -mrtd

将 StdCall 调用约定设为默认。

afl-cc -o target target.c -mprefer-vector-width=none -mprintf-kind=hostcall -MP -mqdsp6-compat -MQ output -mrecip=n -mrecip -mrecord-mcount -mregnames -mrelax-all -mrelax -mrestrict-it -mrtd

958. -mrvv-vector-bits=<value>

指定 RVV 向量寄存器的位大小

959. -msave-restore

启用使用库调用进行保存和恢复

960. -mscalar-strict-align

强制所有标量内存访问对齐(仅限 RISC-V)

961. -mseses

启用推测执行副作用抑制 (SESES)。包含 LVI 控制流完整性缓解措施

962. -msign-return-address=<value>

选择返回地址签名范围

963. -msimd=<value>

选择要在 LoongArch 中启用的 SIMD 扩展,可选值为“none”、“lsx”或“lasx”。

964. -mskip-rax-setup

传递变量参数时跳过设置 RAX 寄存器(仅限 x86)

965. -msmall-data-limit=<value>

将小于限制的全局和静态数据放入特殊段

966. -msoft-float

使用软件浮点

967. -msse2avx

指定汇编器应使用 VEX 前缀编码 SSE 指令

968. -mstack-alignment=<value>

设置堆栈对齐

969. -mstack-arg-probe

启用堆栈探测

970. -mstack-probe-size=<value>

设置堆栈探测大小

971. -mstack-protector-guard-offset=<value>

使用给定的偏移量来寻址堆栈保护器

afl-cc -o target target.c -mrvv-vector-bits=15 -msave-restore -mscalar-strict-align -mseses -msign-return-address=54 -msimd=none -mskip-rax-setup -msmall-data-limit=34 -msoft-float -msse2avx -mstack-alignment=65 -mstack-arg-probe -mstack-probe-size=32 -mstack-protector-guard-offset=45

972. -mstack-protector-guard-reg=<value>

使用给定的寄存器来寻址堆栈保护器保护器。

973. -mstack-protector-guard-symbol=<value>

使用给定的符号来寻址堆栈保护器保护器。

974. -mstack-protector-guard=<value>

使用给定的保护器(全局、tls)来寻址堆栈保护器保护器。

975. -mstackrealign

强制在每个函数入口处重新对齐堆栈。

976. -mstrict-align

强制所有内存访问对齐(仅限 AArch64/LoongArch/RISC-V)

977. -msve-vector-bits=<value>

指定 SVE 向量寄存器的大小(以位为单位)。默认为与向量长度无关的“scalable”值。 (仅限 AArch64)

978. -msvr4-struct-return

返回寄存器中的小型结构体(仅限 PPC32)

979. -mtargetos=<value>

将部署目标设置为指定的操作系统及其版本

980. -mtgsplit

启用线程组拆分执行模式(仅限 AMDGPU)

981. -mthread-model <value>

使用的线程模型。默认为“posix”

982. -mtls-dialect=<value>

用于动态访问 TLS 变量的线程本地存储方言

983. -mtls-direct-seg-refs

启用通过段寄存器直接访问 TLS(默认)

afl-cc -o target target.c -mstack-protector-guard-reg=test -mstack-protector-guard-symbol=test -mstack-protector-guard=test -mstackrealign -mstrict-align -msve-vector-bits=1 -msvr4-struct-return -mtargetos=test -mtgsplit -mthread-model posix -mtls-dialect=test -mtls-direct-seg-refs

984. -mtls-size=<value>

指定直接 TLS 偏移量的位大小(仅限 AArch64 ELF):12(4KB 时)| 24(16MB 时,默认值)| 32(4GB 时)| 48(256TB 时,需要 -mcmodel=large)

985. -mtocdata=<value>

指定将应用 TOC 数据转换的变量列表。

986. -mtocdata

所有适用的变量都将应用 TOC 数据转换。

987. -mtp=<value>

线程指针访问方法。对于 AArch32:“soft”使用函数调用,或“tpidrurw”、“tpidruro”或“tpidrprw”使用三个 CP15 寄存器。“cp15”是“tpidruro”的别名。对于 AArch64:“tpidr_el0”、“tpidr_el1”、“tpidr_el2”、“tpidr_el3”或“tpidrro_el0”使用五个系统寄存器。“elN”是“tpidr_elN”的别名。

988. -mtune=<value>

仅支持 AArch64、PowerPC、RISC-V、SPARC、SystemZ 和 X86

989. -MT <value>

指定 depfile 中主文件输出的名称

990. -munaligned-access

允许内存访问不对齐(仅限 AArch32/MIPSr6)

991. -munaligned-symbols

允许外部字符对齐符号不进行 ABI 对齐(仅限 SystemZ)

992. -munsafe-fp-atomics

启用不安全浮点原子指令的生成。可能会生成更高效的代码,但可能不遵循舍入和非规格化模式,并且可能会对某些内存目标给出不正确的结果。 (仅限 AMDGPU)

993. -mvector-strict-align

强制所有向量内存访问对齐(仅限 RISC-V)

994. -mvevpu

为 VE 发出 VPU 指令

995. -MV

使用 NMake/Jom 格式的 depfile

afl-cc -o target target.c -mtls-size=12 -mtocdata=test -mtocdata -mtp=tpidrurw -mtune=powerpc -MT output -munaligned-access -munaligned-symbols -munsafe-fp-atomics -mvector-strict-align -mvevpu -MV

996. -mwavefrontsize64

指定 Wavefront Size 64 模式(仅限 AMDGPU)

997. -mxcoff-build-id=<0xHEXSTRING>

在 AIX 上,请求在链接二进制文件内加载器部分的字符串表中创建 build-id 字符串“0xHEXSTRING”。

998. -mxcoff-roptr

将具有可重定位地址值的常量对象放置在 RO 数据部分中,并在链接器标志中添加 -bforceimprw(仅限 AIX)

999. -mzos-hlq-clang=<ClangHLQ>

z/OS C++RT 侧板数据集的高级限定符

1000. -mzos-hlq-csslib=<CsslibHLQ>

z/OS CSSLIB 数据集的高级限定符

1001. -mzos-hlq-le=<LeHLQ>

z/OS 语言环境数据集的高级限定符

1002. -mzos-sys-include=<SysInclude>

z/OS 上系统头文件的路径

1003. -M

与 -MD 类似,但也隐含 -E 选项,默认写入标准输出。

1004. --no-cuda-include-ptx=<value>

不包含以下 GPU 架构(例如 sm_35)或“全部”的 PTX。可以多次指定。

1005. --no-cuda-version-check

如果检测到的 CUDA 安装版本对于请求的 CUDA GPU 架构而言过低,则不会出错。

1006. --no-default-config

禁用加载默认配置文件。

1007. --no-gpu-bundle-output

不打包 HIP 设备编译的输出文件。

1008. --no-hip-rt

不链接 HIP 运行时库。

afl-cc -o target target.c -mwavefrontsize64 -mxcoff-build-id=0xHEXSTRING -mxcoff-roptr -mzos-hlq-clang=ClangHLQ -mzos-hlq-csslib=CsslibHLQ -mzos-hlq-le=LeHLQ -mzos-sys-include=output -M --no-cuda-include-ptx=PTX --no-cuda-version-check --no-default-config --no-gpu-bundle-output --no-hip-rt

1009. --no-offload-arch=<value>

从要编译的设备列表中移除 CUDA/HIP 卸载设备架构(例如 sm_35、gfx906)。“all”选项会将列表重置为默认值。

1010. --no-offload-new-driver

不使用新的驱动程序进行卸载编译。

1011. --no-system-header-prefix=<prefix>

将所有以 <prefix> 开头的 #include 路径视为不包含系统头文件。

1012. --no-wasm-opt

禁用 wasm-opt 优化器

1013. -nobuiltininc

禁用内置 #include 目录

1014. -nogpuinc

不添加 CUDA/HIP 的包含路径,也不包含默认的 CUDA/HIP 包装器头文件

1015. -nogpulib

不链接 CUDA/HIP 设备编译的设备库

1016. -nohipwrapperinc

不包含默认的 HIP 包装器头文件和包含路径

1017. -nostdinc++

禁用 C++ 标准库的标准 #include 目录

1018. --nvptx-arch-tool=<value>

用于检测系统中 NVIDIA GPU 架构的工具。

1019. -ObjC++

将源输入文件视为 Objective-C++ 输入

1020. -objcmt-allowlist-dir-path=<value>

仅修改文件名包含在指定目录路径中的文件

1021. -objcmt-atomic-property

迁移到“原子”属性

afl-cc -o target target.c --no-offload-arch=all --no-offload-new-driver --no-system-header-prefix=output --no-wasm-opt -nobuiltininc -nogpuinc -nogpulib -nohipwrapperinc -nostdinc++ --nvptx-arch-tool=output -ObjC++ -objcmt-allowlist-dir-path=output -objcmt-atomic-property

1022. -objcmt-migrate-all

启用向现代 ObjC 的迁移

1023. -objcmt-migrate-annotation

启用向属性和方法注解的迁移

1024. -objcmt-migrate-designated-init

启用迁移以推断初始化方法的 NS_DESIGNATED_INITIALIZER 类型

1025. -objcmt-migrate-instancetype

启用迁移以推断方法结果类型的实例类型

1026. -objcmt-migrate-literals

启用向现代 ObjC 字面量的迁移

1027. -objcmt-migrate-ns-macros

启用向 NS_ENUM/NS_OPTIONS 宏的迁移

1028. -objcmt-migrate-property-dot-syntax

启用将 setter/getter 消息迁移到 property-dot 语法

1029. -objcmt-migrate-property

启用向现代 ObjC 属性的迁移

1030. -objcmt-migrate-protocol-conformance

启用迁移以添加协议一致性在类上

1031. -objcmt-migrate-readonly-property

启用迁移到现代 ObjC 只读属性

1032. -objcmt-migrate-readwrite-property

启用迁移到现代 ObjC 读写属性

1033. -objcmt-migrate-subscripting

启用迁移到现代 ObjC 下标

afl-cc -o target target.c -objcmt-migrate-all -objcmt-migrate-annotation -objcmt-migrate-designated-init -objcmt-migrate-instancetype -objcmt-migrate-literals -objcmt-migrate-ns-macros -objcmt-migrate-property-dot-syntax -objcmt-migrate-property -objcmt-migrate-protocol-conformance -objcmt-migrate-readonly-property -objcmt-migrate-readwrite-property -objcmt-migrate-subscripting

1034. -objcmt-ns-nonatomic-iosonly

启用迁移以使用 NS_NONATOMIC_IOSONLY 宏设置属性的“atomic”属性

1035. -objcmt-returns-innerpointer-property

启用迁移以使用 NS_RETURNS_INNER_POINTER 注释属性

1036. -objcmt-whitelist-dir-path=<value>

-objcmt-allowlist-dir-path 的别名

1037. -ObjC

将源输入文件视为 Objective-C 输入

1038. -object-file-name=<file>

设置调试信息的输出 <file>

1039. -Ofast<value>

已弃用;使用“-O3 -ffast-math”可获得相同行为,或使用“-O3”仅启用符合规范的优化

1040. --offload-arch=<value>

为 CUDA、HIP 或 OpenMP 指定卸载设备架构。(例如 sm_35)。如果使用“native”,编译器将检测本地安装的架构。对于 HIP 卸载,设备架构后可以跟以冒号分隔的目标 ID 特性(例如 gfx908:xnack+:sramecc-)。可以多次指定。

1041. --offload-compress

压缩卸载设备二进制文件(仅限 HIP)

1042. --offload-device-only

仅为卸载设备编译。

1043. --offload-host-device

同时为卸载主机和设备编译(默认)。

1044. --offload-host-only

仅为卸载主机编译。

1045. --offload-link

使用新的卸载链接器执行链接作业。

1046. --offload-new-driver

使用新的驱动程序进行卸载编译。

afl-cc -o target target.c -objcmt-ns-nonatomic-iosonly -objcmt-returns-innerpointer-property -objcmt-whitelist-dir-path=test -ObjC -object-file-name=output -Ofast O3 --offload-arch=CUDA --offload-compress --offload-device-only --offload-host-device --offload-host-only --offload-link --offload-new-driver

1047. --offload=<value>

指定以逗号分隔的卸载目标三元组列表(仅限 CUDA 和 HIP)

1048. -o <file>

将输出写入 <file>

1049. -pedantic

对语言扩展发出警告

1050. -pg

启用 mcount 检测

1051. -pipe

尽可能在命令之间使用管道

1052. --precompile

仅预编译输入

1053. --pretty-sgf

生成美观的符号图

1054. -print-diagnostic-options

打印所有 Clang 的警告选项

1055. -print-effective-triple

打印有效的目标三元组

1056. -print-enabled-extensions

打印给定目标和 -march/-mcpu 选项启用的扩展。 (仅限 AArch64 和 RISC-V)

1057. -print-file-name=<file>

打印 <file> 的完整库路径

1058. -print-ivar-layout

启用 Objective-C Ivar 布局位图打印跟踪

1059. -print-libgcc-file-name

打印当前使用的编译器运行时库的库路径(“libgcc.a”或“libclang_rt.builtins.*.a”)

1060. -print-library-module-manifest-path

打印 C++ 标准库模块清单的路径

1061. -print-multi-flags-experimental

打印用于选择多库的标志(实验性)

1062. -print-prog-name=<name>

打印 <name> 的完整程序路径

1063. -print-resource-dir

打印资源目录路径名

afl-cc -o target target.c --offload=HIP -pedantic -pg -pipe --precompile --pretty-sgf -print-diagnostic-options -print-effective-triple -print-enabled-extensions -print-file-name=output -print-ivar-layout -print-libgcc-file-name -print-library-module-manifest-path -print-multi-flags-experimental -print-prog-name=output -print-resource-dir output

1064. -print-rocm-search-dirs

打印用于查找 ROCm 安装的路径

1065. -print-runtime-dir

打印包含 Clang 运行时库的目录路径名

1066. -print-search-dirs

打印用于查找库和程序的路径

1067. -print-supported-cpus

打印指定目标支持的 CPU 型号(如果未指定目标,则打印默认目标支持的 CPU)

1068. -print-supported-extensions

打印支持的 -march 扩展(仅限 RISC-V、AArch64 和 ARM)

1069. -print-target-triple

打印规范化的目标三元组

1070. -print-targets

打印已注册的目标

1071. -pthread

在生成的代码中支持 POSIX 线程

1072. --ptxas-path=<value>

ptxas 的路径(用于编译 CUDA 代码)

1073. -P

在 -E 模式下禁用行标记输出

1074. -p

使用 prof 启用 mcount 检测

1075. -Qn

不输出包含编译器名称和版本的元数据

1076. -Qunused-arguments

不发出警告未使用的驱动程序参数

1077. -Qy

发出包含编译器名称和版本的元数据

1078. -regcall4

将 __regcall4 设置为默认调用约定,以遵循 __regcall ABI v.4

1079. -relocatable-pch

是否构建可重定位的预编译头文件

1080. -rewrite-legacy-objc

将旧版 Objective-C 源代码重写为 C++

1081. -rewrite-objc

将 Objective-C 源代码重写为 C++

afl-cc -o target target.c -print-rocm-search-dirs -print-runtime-dir -print-search-dirs -print-supported-cpus -print-supported-extensions -print-target-triple -print-targets -pthread --ptxas-path=output -P -p -Qn -Qunused-arguments -Qy -regcall4 -relocatable-pch -rewrite-legacy-objc -rewrite-objc

1082. --rocm-device-lib-path=<value>

ROCm 设备库路径。rocm-path 的替代选项。

1083. --rocm-path=<value>

ROCm 安装路径,用于查找并自动链接所需的位码库。

1084. -Rpass-analysis=<value>

报告名称与给定 POSIX 正则表达式匹配的优化过程的转换分析结果。

1085. -Rpass-missed=<value>

报告名称与给定 POSIX 正则表达式匹配的优化过程遗漏的转换结果。

1086. -Rpass=<value>

报告名称与给定 POSIX 正则表达式匹配的优化过程执行的转换结果。

1087. -rtlib=<value>

要使用的编译器运行时库。

1088. -R<remark>

启用指定的注释。

1089. -​​save-stats=<value>

保存 llvm 统计信息。

1090. -save-stats

保存 llvm 统计信息。

1091. -save-temps=<value>

保存中间编译结果。 <arg> 可设置为 'cwd'(表示当前工作目录)或 'obj'(表示将临时文件保存在与最终输出文件相同的目录中)。

1092. -save-temps

--save-temps=cwd 的别名

1093. -serialize-diagnostics <value>

将编译器诊断信息序列化为文件。

1094. -shared-libsan

动态链接清理器运行时。

1095. --start-no-unused-arguments

不针对以下参数发出有关未使用参数的警告。

1096. -static-libsan

静态链接清理器运行时(Darwin 上的 ASan、TSan 或 UBSan 不支持)

1097. -static-openmp

链接时使用静态主机 OpenMP 运行时。

afl-cc -o target target.c --rocm-device-lib-path=output --rocm-path=output -Rpass-analysis=output -Rpass-missed=output -Rpass=output -rtlib=output -R -save-stats=output -save-temps=arg -save-temps -serialize-diagnostics output -shared-libsan --start-no-unused-arguments -static-libsan -static-openmp

1098. -std=<value>

编译所针对的语言标准

1099. -stdlib++-isystem <directory>

使用目录作为 C++ 标准库的包含路径

1100. -stdlib=<value>

使用的 C++ 标准库

1101. -sycl-std=<value>

编译所针对的 SYCL 语言标准。

1102. --symbol-graph-dir=<value>

生成符号图的目录。

1103. --system-header-prefix=<prefix>

将所有以 <prefix> 开头的 #include 路径视为包含系统头文件。

1104. -S

仅运行预处理和编译步骤

1105. --target=<value>

为指定目标生成代码

1106. -time

计时单个命令

1107. -traditional-cpp

启用部分传统 CPP 仿真

1108. -trigraphs

处理三字母序列

1109. -T <script>

指定 <script> 作为链接器脚本

1110. -undef

undef 所有系统定义

1111. -unwindlib=<value>

解开要使用的库

1112. -U <macro>

取消宏 <macro> 的定义

1113. --verify-debug-info

验证调试输出的二进制表示

1114. -verify-pch

加载并验证预编译头文件是否过期

afl-cc -o target target.c -std=test -stdlib++-isystem output -stdlib=output -sycl-std=output --symbol-graph-dir=output --system-header-prefix=output -S --target=output -time  -traditional-cpp -trigraphs -T script -undef -unwindlib=output -U output --verify-debug-info -verify-pch

1115. --version

打印版本信息

afl-cc --version

 

1116. -vfsoverlay <value>

将文件描述的虚拟文件系统覆盖在真实文件系统上。此外,如果链接器支持,则将此覆盖文件传递给链接器

1117. -v

显示要运行的命令并使用详细输出。

1118. -Wa,<arg>

将 <arg> 中以逗号分隔的参数传递给汇编器。

1119. --wasm-opt

启用 wasm-opt 优化器(默认)

1120. -Wdeprecated

启用已弃用构造的警告并定义 __DEPRECATED。

1121. -Winvalid-constexpr

启用在常量表达式上下文中检查 constexpr 函数体的有效性。

1122. -Wl,<arg>

将 <arg> 中以逗号分隔的参数传递给链接器。

1123. -Wno-invalid-constexpr

禁用在常量表达式上下文中检查 constexpr 函数体的有效性。

1124. -working-directory <value>

解析相对于指定目录的文件路径。

1125. -Wp,<arg>

将 <arg> 中以逗号分隔的参数传递给预处理器。

1126. -W<warning>

启用指定的警告。

1127. -w

抑制所有警告。

1128. -Xanalyzer <arg>

传递 <arg>到静态分析器

1129. -Xarch_device <arg>

将 <arg> 传递给 CUDA/HIP 设备编译

1130. -Xarch_host <arg>

将 <arg> 传递给 CUDA/HIP 主机编译

1131. -Xassembler <arg>

将 <arg> 传递给汇编器

1132. -Xclang=<arg>

-Xclang 的别名

1133. -Xclang <arg>

将 <arg> 传递给 clang -cc1

1134. -Xcuda-fatbinary <arg>

将 <arg> 传递给 fatbinary 调用

1135. -Xcuda-ptxas <arg>

将 <arg> 传递给 ptxas 汇编器

afl-cc -o target target.c -vfsoverlay test -v -Wa --wasm-opt -Wdeprecated -Winvalid-constexpr -Wl -Wno-invalid-constexpr -working-directory output -Wp -W -w -Xanalyzer -Xarch_device -Xarch_host -Xassembler -Xclang -Xcuda-fatbinary -Xcuda-ptxas

1136. -Xlinker <arg>

将 <arg> 传递给链接器

1137. -Xoffload-linker<triple> <arg>

将 <arg> 传递给卸载链接器或由 -<triple> 标识的链接器

1138. -Xopenmp-target=<triple> <arg>

将 <arg> 传递给由 <triple> 标识的目标卸载工具链。

1139. -Xopenmp-target <arg>

将 <arg> 传递给目标卸载工具链。

1140. -Xpreprocessor <arg>

将 <arg> 传递给预处理器

1141. -x <language>

将后续输入文件视为具有 <language> 类型

1142. -z <arg>

将 -z <arg> 传递给链接器

dxc 兼容性选项

1143. --dxv-path=<value>

DXIL 验证器安装路径

1144. -fspv-target-env=<value>

指定目标环境

1145. -hlsl-entry <value>

hlsl 的入口点名称

afl-cc -o target target.c -Xlinker -Xoffload-linker triple arg -Xopenmp-target=triple -Xopenmp-target -Xpreprocessor -x -z --dxv-path=output -fspv-target-env=output -hlsl-entry output/

由于篇幅有限,请看下一章教程!

相关文章:

  • C# .NET Core 源代码生成器(dotnet source generators)
  • ASP.NET Core 中快速读取配置的最佳实践
  • 案例:城市“光革命”背后,塔能科技的智能照明进化方程式
  • 微软Copilot两大创新功能详解:SharePoint Agents vs. Copilot Notebooks
  • OCP 认证培训:踏入 Oracle 数据库专家的殿堂
  • Spark 之 Subquery
  • 解析Android SETUP_DATA_CALL 链路信息字段
  • 期权备兑策略选择什么价值的合约?
  • Server 11 ,⭐通过脚本在全新 Ubuntu 系统中安装 Nginx 环境,安装到指定目录( 脚本安装Nginx )
  • 深度剖析:AI 社媒矩阵营销工具,如何高效获客?
  • 基于React Native的HarmonyOS 5.0房产与装修应用开发
  • 问答播放器(视频弹题)使用例子(代码)
  • 26-数据结构-线性表2
  • HarmonyOS5 运动健康app(一):健康饮食(附代码)
  • Android mtk 系统应用改为可卸载,恢复出厂可恢复
  • sharepoint 共享excel,如何实现某个 sheet 别人只读,但是另一个 sheet 可以编辑
  • 【Pandas】pandas DataFrame replace
  • 【网关】互联网公司的接入网关和业务网关怎么设计
  • 多模态大语言模型arxiv论文略读(121)
  • 零基础实战:用 Docker 和 vLLM 本地部署 BGE-M3 文本嵌入模型
  • 公司的服务器能建设网站吗/黄金网站软件免费
  • wordpress相似的nodejs/长春网站优化
  • 沈阳市建设工程项目管理中心网站/seo优化专员招聘
  • 大庆市建设局网站上不去/企业做网上推广
  • 自己做网站必须要学哪些/seo和sem哪个工资高
  • 选片 网站 建设/qq推广引流怎么做