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

网站建设优惠券山东网站建设比较好

网站建设优惠券,山东网站建设比较好,公关公司服务的特点包括,泰安网络推广公司哪家好简介 American fuzzy lop 是一款模糊测试工具#xff0c;它采用编译时插桩和遗传算法#xff0c;自动发现干净、有趣的测试用例#xff0c;这些用例会在目标二进制文件中触发新的内部状态。这显著提升了模糊测试代码的功能覆盖率。该工具生成的紧凑合成语料库也可用于为未来… 简介 American fuzzy lop 是一款模糊测试工具它采用编译时插桩和遗传算法自动发现干净、有趣的测试用例这些用例会在目标二进制文件中触发新的内部状态。这显著提升了模糊测试代码的功能覆盖率。该工具生成的紧凑合成语料库也可用于为未来其他更耗费人力或资源的测试方案提供种子。 AFLplusplus 是 Michał “lcamt​​uf” Zalewski 开发的 American Fuzzy Lop 模糊测试器的子代其最初创建是为了整合多年来为 AFL 系列模糊测试器开发的所有最佳功能但并未合并到 AFL 中因为它自 2017 年 11 月以来就没有更新过。 afl-fuzz 的设计注重实用性它性能开销适中使用多种高效的模糊测试策略几乎无需任何配置并且能够无缝处理复杂的实际用例例如常见的图像解析或文件压缩库。 afl 是已不再维护的 afl 的一个分支。 AFL 模糊测试框架包含以下内容 一个包含多种修改器和配置的模糊测试器afl-fuzz。不同的源代码插桩模块LLVM 模式、afl-as、GCC 插件。不同的二进制代码插桩模块QEMU 模式、Unicorn 模式、QBDI 模式。用于测试用例/语料库最小化的实用程序afl-tmin、afl-cmin。辅助库libtokencap、libdislocator、libcompcov。 它包含许多与 AFL 相关的更改、优化和新功能例如 AFLfast 电源调度、带有 CompareCoverage 的 QEMU 5.1 升级、MOpt 修改器、InsTrim 插桩等等。 特征 在官方 afl 版本的基础上进行了多项改进——自 2017 年 11 月以来官方版本一直未进行任何功能改进。 除其他改进外afl 还拥有更高性能的 llvm_mode支持最高版本 11 的 llvm、QEMU 5.1速度更快并修复了 QEMU 的崩溃问题更好地支持 *BSD 和 Android 系统等等。 此外还集成了以下功能和补丁 Marcel Böhme 编写的 AFLfast 电源调度程序https://github.com/mboehme/aflfast全新优秀的 MOpt 修改器https://github.com/puppet-meteor/MOpt-AFLInsTrim一个针对大型目标的高效 CFG llvm_mode 插桩实现https://github.com/csienslab/instrimC. Holler 的 afl-fuzz Python 修改器模块和 llvm_mode 白名单支持https://github.com/choller/aflkyakdan 编写的自定义修改器非 Python 库Unicorn 模式允许对来自完全不同平台的二进制文件进行模糊测试由 domenukk 提供集成LAF-Intel 或 CompCov 支持 llvm_mode、qemu_mode 和 unicorn_modeNeverZero 补丁适用于 afl-gcc llvm_mode、qemu_mode 和 unicorn_mode 可防止映射值被包装为零从而提高覆盖率qemu_mode 的持久模式和延迟 forkserver使用 QEMU 和 Wine 进行 Win32 PE 二进制模糊测试Radamsa 修改器使用 -R 启用以添加或使用 -RR 以独占运行。QBDI 模式通过 QBDI 框架模糊测试 Android 原生库受 Redqueen 启发适用于 LLVM 和 QEMU 的全新 CmpLog 工具由 Adrian Herrera 撰写的 LLVM 模式 Ngram 报道 https://github.com/adrianherrera/afl-ngram-pass 安装 源码安装 通过以下命令来进行克隆项目源码建议请先提前挂好代理进行克隆。 git clone https://github.com/AFLplusplus/AFLplusplus.git 进入目录并查看。 cd AFLplusplus/ ls 构建所有功能模式包括源代码模式、QEMU 模式、Frida、Unicorn 等 make distrib 编译 make 运行以下命令如果出现这个界面就说明安装成功了。 ./afl-fuzz -h Docker安装 通过以下命令来进行克隆项目源码建议请先提前挂好代理进行克隆。 git clone https://github.com/AFLplusplus/AFLplusplus.git 进入目录并查看。 cd AFLplusplus/ ls 拉取 ubuntu:22.04 镜像 sudo docker pull ubuntu:22.04 开始安装 sudo docker build -t aflplusplus . 运行以下命令出现相关界面就说明安装成功了。 sudo docker run -it --rm aflplusplus -h Docker镜像安装 通过以下命令来进行安装 sudo docker pull aflplusplus/aflplusplus 运行以下命令如果出现这个界面就说明安装成功了。 sudo docker run -it aflplusplus/aflplusplus afl-fuzz -h APT包管理器安装 Kali Linux 默认已经安装 aflplusplus 工具了如果还未安装的话也可以通过以下命令来进行安装。 sudo apt install afl 使用 afl-addseeds 向现有的 AFL 模糊测试活动添加新的种子。 1. 帮助文档 afl-addseeds 2. -o afl-out-dir 模糊测试活动中使用的输出目录 afl-addseeds -o fuzz_results 3. -i seed_file_or_dir 要添加的文件或目录 afl-addseeds -i fuzz_results afl-analyze 1. -h 帮助文档 afl-analyze -h 必需参数 2. -i file 工具要分析的输入测试用例 afl-analyze -i input/testcase -- ./target 执行控制设置 3. -f file 被测程序读取的输入文件标准输入 afl-analyze -i input/testcase -f input.data -- ./target 4. -t msec 每次运行的超时时间1000 毫秒 afl-analyze -i input/testcase -t 1000 -- ./target 5. -m megs 子进程的内存限制0 MB afl-analyze -i input/testcase -m 10 -- ./target 6. -O 使用仅二进制插桩FRIDA 模式 afl-analyze -i input/testcase -O -- ./target 7. -Q 使用仅二进制插桩QEMU 模式 afl-analyze -i input/testcase -Q -- ./target 8. -U 使用基于 Unicorn 的插桩Unicorn 模式 afl-analyze -i input/testcase -U -- ./target 9. -W 使用基于 qemu 的 Wine 插桩Wine 模式 afl-analyze -i input/testcase -W -- ./target 10. -X 使用 Nyx 模式 afl-analyze -i input/testcase -X -- ./target 分析设置 11. -e 仅查找边缘覆盖忽略命中计数 afl-analyze -i input/testcase -e -- ./target afl-c 1. --help 帮助文档 afl-c --help 2. -### 打印但不运行本次编译所需的命令 3. --amdgpu-arch-toolvalue 用于检测系统中 AMD GPU 架构的工具。 4. --analyzer-output value 静态分析器报告输出格式 (html|plist|plist-multi-file|plist-html|sarif|sarif-html|text)。 afl-cc -### --amdgpu-arch-tool10 --analyzer-output html afl-cc -### --amdgpu-arch-tool10 --analyzer-output plist afl-cc -### --amdgpu-arch-tool10 --analyzer-output plist-multi-file afl-cc -### --amdgpu-arch-tool10 --analyzer-output plist-html afl-cc -### --amdgpu-arch-tool10 --analyzer-output sarif afl-cc -### --amdgpu-arch-tool10 --analyzer-output sarif-html afl-cc -### --amdgpu-arch-tool10 --analyzer-output text 5. --analyze 运行静态分析器 6. -arcmt-migrate-emit-errors 即使迁移器可以修复也发出 ARC 错误 7. -arcmt-migrate-report-output value plist 报告的输出路径 8. -B prefix 在 $prefix$file 中搜索可执行文件、库和数据文件。如果 $prefix 是目录则搜索 $prefix/$file 9. -b arg 在 AIX 上将 -b arg 传递给链接器 afl-cc --analyze -arcmt-migrate-emit-errors -arcmt-migrate-report-output output -B prefix -b arg 10. -CC 在预处理输出中包含宏内的注释 11. -cl-denorms-are-zero 仅限 OpenCL。允许将非正规数刷新为零。 12. -cl-extvalue 仅限 OpenCL。启用或禁用 OpenCL 扩展/可选功能。参数是一个或多个扩展名的逗号分隔序列每个扩展名以“”或“-”为前缀。 13. -cl-fast-relaxed-math 仅限 OpenCL。设置 -cl-finite-math-only 和 -cl-unsafe-math-optimizations并定义 __FAST_RELAXED_MATH__。 14. -cl-finite-math-only 仅限 OpenCL。允许浮点优化并假设参数和结果不为 NaN 或 -Inf。 15. -cl-fp32-correctly-rounded-divide-sqrt 仅限 OpenCL。指定程序源代码中使用的单精度浮点除法和平方根运算必须正确舍入。 16. -cl-kernel-arg-info 仅限 OpenCL。生成内核参数元数据。 17. -cl-mad-enable 仅限 OpenCL。允许在生成的二进制文件中使用精度较低的 MAD 计算。 18. -cl-no-signed-zeros 仅限 OpenCL。允许在生成的二进制文件中使用精度较低的无符号零计算。 19. -cl-no-stdinc 仅限 OpenCL。禁用所有包含非原生编译器类型和函数的标准包含文件。 20. -cl-opt-disable 仅限 OpenCL。此选项禁用所有优化。默认情况下优化处于启用状态。 21. -cl-single-precision-constant 仅限 OpenCL。将双精度浮点常量视为单精度常量。 afl-cc -CC -cl-denorms-are-zero -cl-ext10 -cl-fast-relaxed-math -cl-finite-math-only -cl-fp32-correctly-rounded-divide-sqrt -cl-kernel-arg-info -cl-mad-enable -cl-no-signed-zeros -cl-no-stdinc -cl-opt-disable -cl-single-precision-constant 22. -cl-stdvalue 编译所针对的 OpenCL 语言标准。 23. -cl-strict-aliasing 仅限 OpenCL。添加此选项是为了与 OpenCL 1.0 兼容。 24. -cl-uniform-work-group-size 仅限 OpenCL。定义全局工作大小为 clEnqueueNDRangeKernel 指定的工作组大小的倍数。 25. -cl-unsafe-math-optimizations 仅限 OpenCL。允许不安全的浮点优化。也隐含了 -cl-no-signed-zeros 和 -cl-mad-enable。 26. --configfile 指定配置文件。 27. --cuda-compile-host-device 为主机和设备编译 CUDA 代码默认。对非 CUDA 编译无效。 28. --cuda-device-only 仅为设备编译 CUDA 代码 29. --cuda-featurevalue 手动指定要使用的 CUDA 特性 30. --cuda-host-only 仅为主机编译 CUDA 代码。对非 CUDA 编译无效。 31. --cuda-include-ptxvalue 为以下 GPU 架构例如 sm_35或“全部”包含 PTX。可以多次指定。 afl-cc -cl-std1 -cl-strict-aliasing -cl-uniform-work-group-size -cl-unsafe-math-optimizations --configconfig --cuda-compile-host-device --cuda-device-only --cuda-feature1 --cuda-host-only --cuda-include-ptxptx 32. --cuda-noopt-device-debug 启用设备端调试信息生成。禁用 ptxas 优化。 33. --cuda-path-ignore-env 忽略环境变量以检测 CUDA 安装 34. --cuda-pathvalue CUDA 安装路径 35. -cuidvalue 编译单元的 ID同一编译单元的 ID 应相同不同编译单元的 ID 应不同。它用于将单源卸载语言 CUDA 和 HIP 的设备端静态变量外部化以便它们可以被同一编译单元的主机代码访问。 36. -cxx-isystem directory 将目录添加到 C SYSTEM 包含搜索路径 37. -C 在预处理输出中包含注释 38. -c 仅运行预处理、编译和汇编步骤 39. -darwin-target-variant-triple value 指定 Darwin 目标变体 Triple 40. -darwin-target-variant value 为部署目标的其他运行时变体生成代码 41. -dD 在 -E 模式下除了正常输出外还打印宏定义 42. -dependency-dot value 用于写入 DOT 格式头文件依赖项的文件名 43. -dependency-file value 用于写入依赖项输出的文件名或 - 44. -dI 在 -E 模式下除了正常输出外还打印包含指令 afl-cc --cuda-noopt-device-debug --cuda-path-ignore-env --cuda-pathvalue -cuid11 -cxx-isystem file -C -c -darwin-target-variant-triple value -darwin-target-variant 20 -dD -dependency-dot 30 -dependency-file 40 -dI 45. -dM 在 -E 模式下打印宏定义而不是正常输出 46. -dsym-dir dir dSYM如果有的输出目录 47. -dumpdir dumppfx 使用 dumpfpx 作为前缀来生成辅助文件名和转储文件名 48. -dumpmachine 显示编译器的目标处理器 49. -dumpversion 显示编译器的版本 50. -D macrovalue 将 macro 定义为 value如果省略 value则为 1 51. --embed-dirdir 将目录添加到嵌入搜索路径 52. -emit-ast 为源输入生成 Clang AST 文件 53. --emit-extension-symbol-graphs 为扩展模块生成额外的符号图。 54. -emit-interface-stubs 生成接口存根文件。 55. -emit-llvm 使用 LLVM 表示法来表示汇编程序和目标文件。 56. -emit-merged-ifs 生成接口存根文件生成合并后的文本文件而非二进制文件。 57. --emit-static-lib 启用链接器作业以生成静态库。 58. -emit-symbol-graph 生成提取 API 信息作为编译的副作用。 59. --end-no-unused-arguments 开始针对未使用的驱动程序参数发出警告。 afl-cc -dM -dsym-dir dir -dumpdir dumpfirfile -dumpmachine -dumpversion -D macro1 --embed-dirdir -emit-ast --emit-extension-symbol-graphs -emit-interface-stubs -emit-llvm -emit-merged-ifs --emit-static-lib -emit-symbol-graph --end-no-unused-arguments 60. --extract-api-ignoresvalue 以逗号分隔的文件列表其中包含提取 API 信息时要忽略的 API 符号列表并以换行符分隔。 61. -extract-api 提取 API 信息。 62. -E 仅运行预处理器。 63. -faapcs-bitfield-load 遵循 AAPCS 标准即所有易失性位字段写入至少会生成一次加载。仅限 ARM。 64. -faapcs-bitfield-width 遵循 AAPCS 标准要求即易失性位字段宽度由字段容器类型决定。仅限 ARM。 65. -faddrsig 发出地址有效性表。 66. -falign-loopsN N 必须是 2 的幂。将循环与边界对齐 67. -faligned-allocation 启用 C17 对齐分配函数 68. -fallow-editor-placeholders 将编辑器占位符视为有效源代码 69. -faltivec-src-compatvalue Altivec 矢量的源代码级兼容性适用于 PowerPC 平台。这包括矢量比较的结果“xl”为标量“gcc”为矢量以及使用标量初始化时的行为“xl”为展开“gcc”仅为元素零。对于“mixed”“vector bool/vector pixel”的兼容性与“gcc”相同其他类型与“xl”相同。当前默认值为“mixed”。 70. -fansi-escape-codes 使用 ANSI 转义码进行诊断 afl-cc --extract-api-ignoresapi -extract-api -E -faapcs-bitfield-load -faapcs-bitfield-width -faddrsig -falign-loops2 -faligned-allocation -fallow-editor-placeholders -faltivec-src-compatgcc -fansi-escape-codes 71. -fapinotes-modules 启用基于模块的外部 API 注释支持 72. -fapinotes-swift-versionversion 指定筛选 API 注释时使用的 Swift 版本 73. -fapinotes 启用外部 API 注释支持 74. -fapple-kext 使用 Apple 的内核扩展 ABI 75. -fapple-link-rtlib 强制链接 clang 内置运行时库 76. -fapple-pragma-pack 启用与 Apple gcc 兼容的 #pragma pack 处理 77. -fapplication-extension 将代码限制为可用于应用扩展的代码 78. -fapprox-func 允许将某些数学函数调用替换为近似等效的计算 79. -fassume-nothrow-exception-dtor 假设异常对象的析构函数不抛出异常 80. -fasync-exceptions 启用 EH 异步异常 81. -fauto-import MinGW 专用。启用代码生成对自动 dllimport 的支持并在链接器中启用此功能。默认启用。 82. -fbasic-block-address-map 发出基本块地址映射段。 83. -fbasic-block-sectionsvalue 将每个函数的基本块放置在唯一的段中仅限 ELF 格式 84. -fbinutils-versionmajor.minor 生成的目标文件可以使用此 binutils 版本及更高版本支持的所有 ELF 特性。如果指定 -fno-integrated-as生成的汇编代码将视 GNU as 为支持。“none”表示所有 ELF 特性均可使用无论 binutils 是否支持。默认为 2.26。 afl-cc -fapinotes-modules -fapinotes-swift-versionversion -fapinotes -fapple-kext -fapple-link-rtlib -fapple-pragma-pack -fapplication-extension -fapprox-func -fassume-nothrow-exception-dtor -fasync-exceptions -fauto-import -fbasic-block-address-map -fbasic-block-sectionsvalue -fbinutils-version2.26 85. -fblocks 启用“blocks”语言功能 86. -fborland-extensions 接受 Borland 编译器支持的非标准结构 87. -fbuild-session-filefile 使用 file 的最后修改时间作为构建会话时间戳 88. -fbuild-session-timestamptime since Epoch in seconds 当前构建会话的启动时间 89. -fbuiltin-module-map 加载 clang 内置模块映射文件。 90. -fc-abivalue 要使用的 C ABI。这将覆盖目标 C ABI。 91. -fcall-saved-x10 使 x10 寄存器的调用被保存仅限 AArch64 92. -fcall-saved-x11 使 x11 寄存器的调用被保存仅限 AArch64 93. -fcall-saved-x12 使 x12 寄存器的调用被保存仅限 AArch64 94. -fcall-saved-x13 使 x13 寄存器的调用被保存仅限 AArch64 95. -fcall-saved-x14 使 x14 寄存器的调用被保存仅限 AArch64 96. -fcall-saved-x15 使 x15 寄存器的调用被保存仅限 AArch64 97. -fcall-saved-x18 使 x18 寄存器的调用被保存仅限 AArch64 98. -fcall-saved-x8 使 x8 寄存器的调用被保存仅限 AArch64 99. -fcall-saved-x9 使 x9 寄存器call-saved仅限 AArch64 afl-cc -fblocks -fborland-extensions -fbuild-session-filefile -fbuild-session-timestamp10s -fbuiltin-module-map -fc-abi4 -fcall-saved-x10 -fcall-saved-x11 -fcall-saved-x12 -fcall-saved-x13 -fcall-saved-x14 -fcall-saved-x15-fcall-saved-x18 -fcall-saved-x8 -fcall-saved-x9 100. -fcaret-diagnostics-max-linesvalue 设置插入符号诊断中显示的最大源代码行数0 无限制。 101. -fcf-protectionvalue 仪器控制流架构保护 102. -fcf-protection 在“完整”模式下启用 cf-protection 103. -fchar8_t 启用 C 内置类型 char8_t 104. -fcheck-new 不假设 C 运算符 new 不会返回 NULL 105. -fclang-abi-compatversion 尝试匹配 Clang 版本 的 ABI 106. -fclangir 使用 ClangIR 流水线进行编译 afl-cc -fcaret-diagnostics-max-lines0 -fcf-protection10 -fcf-protection -fchar8_t -fcheck-new -fclang-abi-compat30 -fclangir 107. -fcolor-diagnostics 在诊断中启用颜色 108. -fcomment-block-commandsarg 将 arg 中的每个逗号分隔的参数视为文档注释块命令 109. -fcommon 将未初始化的全局变量放入公共块中 110. -fcomplete-member-pointers 如果成员指针基类型在 Microsoft ABI 下具有重要意义则要求它们完整 111. -fconstexpr-backtrace-limitvalue 设置 constexpr 求值回溯中打印的最大条目数0 无限制 112. -fconstexpr-depthvalue 设置递归 constexpr 函数调用的最大深度 113. -fconstexpr-stepsvalue 设置 constexpr 函数求值的最大步数 114. -fcoro-aligned-allocation 为 C 协程优先使用对齐分配 115. -fcoroutines 启用对 C 协程的支持 116. -fcoverage-compilation-dirvalue 编译目录嵌入到覆盖率映射中。 117. -fcoverage-mapping 生成覆盖率映射以启用代码覆盖率分析 afl-cc -fcolor-diagnostics -fcomment-block-commandsarg -fcommon -fcomplete-member-pointers -fconstexpr-backtrace-limit0 -fconstexpr-depth1 -fconstexpr-steps2 -fcoro-aligned-allocation -fcoroutines -fcoverage-compilation-dirdir -fcoverage-mapping 118. -fcoverage-mcdc 生成代码覆盖率时启用 MC/DC 标准 119. -fcoverage-prefix-mapoldnew 在覆盖率映射中将文件源路径从 old 重新映射到 new。如果有多个选项则从最后一个选项开始按相反的顺序应用前缀替换。 120. -fcrash-diagnostics-dirdir 将崩溃报告文件放入 dir 121. -fcrash-diagnosticsvalue 设置崩溃诊断报告级别选项off、compiler、all 122. -fcrash-diagnostics 启用崩溃诊断报告默认 afl-cc -fcoverage-mcdc -fcoverage-prefix-mapoldnew -fcrash-diagnostics-dirdir -fcrash-diagnosticsoff -fcrash-diagnostics 123. -fcs-profile-generatedirectory 生成插桩代码将上下文相关的执行计数收集到 directory/default.profraw 中会被 LLVM_PROFILE_FILE 环境变量覆盖 124. -fcs-profile-generate 生成插桩代码将上下文相关的执行计数收集到 default.profraw 中会被 LLVM_PROFILE_FILE 环境变量覆盖 125. -fcuda-short-ptr 使用 32 位指针访问 const/local/shared 地址空间 126. -fcx-fortran-rules 启用复杂算术运算的范围缩减。 127. -fcx-limited-range 启用涉及复杂算术运算的基本代数展开。 128. -fcxx-exceptions 启用 C 异常 129. -fcxx-modules 启用 C 模块 130. -fdata-sections 将每个数据放入其自己的段中 131. -fdebug-compilation-dirvalue 嵌入调试信息的编译目录 132. -fdebug-default-versionvalue 如果 -g 选项导致生成 DWARF 调试信息则使用默认的 DWARF 版本 133. -fdebug-info-for-profiling 发出额外的调试信息使示例分析更准确 134. -fdebug-macro 发出宏调试信息 afl-cc -fcs-profile-generatefile -fcs-profile-generate -fcuda-short-ptr -fcx-fortran-rules -fcx-limited-range -fcxx-exceptions -fcxx-modules -fdata-sections -fdebug-compilation-dir10 -fdebug-info-for-profiling -fdebug-macro 135. -fdebug-prefix-mapoldnew 对于调试信息中的路径将目录 old 重新映射到 new。如果多个选项与路径匹配则最后一个选项有效。 136. -fdebug-ranges-base-address 在 .debug_ranges 中使用 DWARF 基址选择条目。 137. -fdebug-types-section 将调试类型放在其自己的节中仅限 ELF 138. -fdeclspec 允许使用 __declspec 作为关键字。 139. -fdefine-target-os-macros 启用预定义的目标操作系统宏。 140. -fdelayed-template-parsing 在翻译单元末尾解析模板函数定义。 141. -fdelete-null-pointer-checks 将空指针的使用视为未定义行为默认 142. -fdiagnostics-absolute-paths 在诊断信息中打印绝对路径。 143. -fdiagnostics-hotness-thresholdvalue 如果优化备注的配置文件数量未达到此值则阻止输出这些备注。使用“自动”应用配置文件摘要中的阈值 afl-cc -o target target.c -fdebug-prefix-mapoldnew -fdebug-ranges-base-address -fdebug-types-section -fdeclspec -fdefine-target-os-macros -fdelayed-template-parsing -fdelete-null-pointer-checks -fdiagnostics-absolute-paths -fdiagnostics-hotness-thresholdauto 144. -fdiagnostics-misexpect-tolerancevalue 如果配置文件计数在预期值的 N% 以内则阻止输出错误诊断信息。 145. -fdiagnostics-parseable-fixits 以机器可解析的形式打印修复信息 146. -fdiagnostics-print-source-range-info 以数字形式打印源范围跨度 147. -fdiagnostics-show-hotness 在诊断行中启用配置文件热度信息 148. -fdiagnostics-show-note-include-stack 显示诊断注释的包含堆栈 149. -fdiagnostics-show-option 打印带有可映射诊断信息的选项名称 150. -fdiagnostics-show-template-tree 打印不同模板的模板比较树 151. -fdigraphs 启用替代标记表示法“:”、“:”、“%”、“%”、“%:”、“%:%:”默认 152. -fdirect-access-external-data 不使用 GOT 间接引用外部数据符号 153. -fdisable-block-signature-string 禁用块签名字符串 154. -fdiscard-value-names 丢弃值LLVM IR 中的名称 afl-cc -o target target.c -fdiagnostics-misexpect-tolerancetest -fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info -fdiagnostics-show-hotness -fdiagnostics-show-note-include-stack -fdiagnostics-show-option -fdiagnostics-show-template-tree -fdirect-access-external-data -fdisable-block-signature-string -fdiscard-value-names 155. -fdollars-in-identifiers 允许标识符中使用“$” 156. -fdriver-only 仅运行驱动程序。 157. -fdwarf-exceptions 使用 DWARF 样式异常 158. -feliminate-unused-debug-types 不为已定义但未使用的类型发出调试信息。 159. -fembed-bitcode-marker 将占位符 LLVM IR 数据嵌入为标记。 160. -fembed-bitcodeoption 嵌入 LLVM 位码。 161. -fembed-bitcode 将 LLVM IR 位码嵌入为数据。 162. -fembed-offload-objectvalue 将卸载设备端二进制文件作为节嵌入到主机目标文件中。 163. -femit-all-decls 发出所有声明即使未使用。 164. -femit-compact-unwind-non-canonical 尝试为非规范条目发出 Compact-Unwind。可能被其他约束覆盖 165. -femit-dwarf-unwindvalue 何时发出 DWARF 展开EH 帧信息 166. -femulated-tls 使用 emutls 函数访问 thread_local 变量 167. -fenable-matrix 启用矩阵数据类型和相关的内置函数 168. -fexceptions 启用对异常处理的支持 afl-cc -o target target.c -fdollars-in-identifiers -fdriver-only -fdwarf-exceptions -feliminate-unused-debug-types -fembed-bitcode-marker -fembed-bitcodetest -fembed-bitcode -fembed-offload-objecttest -femit-all-decls -femit-compact-unwind-non-canonical -femit-dwarf-unwindEH -femulated-tls -fenable-matrix -fexceptions 169. -fexcess-precisionvalue 允许在不支持本地精度类型的目标上控制额外精度。默认情况下额外精度用于按照 ISO C99 中指定的规则计算中间结果。 170. -fexperimental-late-parse-attributes 启用实验性的属性延迟解析 171. -fexperimental-library 控制是否启用不稳定和实验性的库功能。此选项启用各种库功能这些功能要么是实验性的也称为 TS要么在所选的标准库实现中已经存在但尚未稳定。不建议在生产代码中使用此选项因为它既不能保证 ABI 稳定性也不能保证 API 的稳定性。这旨在提供未来将发布的实验性功能的预览。 172. -fexperimental-modules-reduced-bmi 生成简化的 BMI 173. -fexperimental-new-constant-interpreter 启用实验性的新常量解释器 174. -fexperimental-openacc-macro-override value 在 OpenACC 支持开发期间覆盖 _OPENACC 宏值以进行实验性测试。 175. -fexperimental-relative-c-abi-vtables 对带有虚表的类使用实验性的 C 类 ABI afl-cc -o target target.c -fexcess-precisiontest -fexperimental-late-parse-attributes -fexperimental-library -fexperimental-modules-reduced-bmi -fexperimental-new-constant-interpreter -fexperimental-openacc-macro-override test -fexperimental-relative-c-abi-vtables 176. -fexperimental-sanitize-metadata-ignorelistvalue 禁用与提供的特殊情况列表匹配的模块和函数的清理器元数据 177. -fexperimental-sanitize-metadatavalue 指定二进制分析清理器生成的元数据类型 178. -fexperimental-strict-floating-point 允许对当前尚未就绪的目标使用非默认舍入模式和非默认异常处理。 179. -fextend-argumentsvalue 控制在调用非原型函数和可变参数函数时如何扩展标量整数参数。 180. -ffast-math 允许激进的有损浮点优化 181. -ffat-lto-objects 启用胖 LTO 对象支持 182. -ffile-compilation-dirvalue 嵌入调试信息和覆盖率映射的编译目录。 183. -ffile-prefix-mapvalue 重新映射调试信息中的文件源路径、预定义预处理器宏和 __builtin_FILE()。隐含 -ffile-reproducible。 184. -ffile-reproducible 扩展 __FILE__ 宏时使用目标平台特定的路径分隔符 afl-cc -o target target.c -fexperimental-sanitize-metadata-ignorelisttest -fexperimental-sanitize-metadatatest -fexperimental-strict-floating-point -fextend-argumentstest -ffast-math -ffat-lto-objects -ffile-compilation-dirtest -ffile-prefix-maptest -ffile-reproducible 185. -ffine-grained-bitfield-accesses 对连续的位域运行使用单独的访问并保证位域宽度和对齐方式合法。 186. -ffinite-loops 假设所有非平凡循环都是有限的。 187. -ffinite-math-only 允许浮点优化并假设参数和结果不是 NaN 或 -inf。这定义了 \_\_FINITE\_MATH\_ONLY\_\_ 预处理器宏。 188. -ffixed-a0 保留 a0 寄存器仅限 M68k 189. -ffixed-a1 保留 a1 寄存器仅限 M68k 190. -ffixed-a2 保留 a2 寄存器仅限 M68k 191. -ffixed-a3 保留 a3 寄存器仅限 M68k 192. -ffixed-a4 保留 a4 寄存器仅限 M68k 193. -ffixed-a5 保留 a5 寄存器仅限 M68k 194. -ffixed-a6 保留 a6 寄存器仅限 M68k afl-cc -o target target.c -ffine-grained-bitfield-accesses -ffinite-loops -ffixed-a0 -ffixed-a1 -ffixed-a2 -ffixed-a3 -ffixed-a4 -ffixed-a5 -ffixed-a6 195. -ffixed-d0 保留 d0 寄存器仅限 M68k 196. -ffixed-d1 保留 d1 寄存器仅限 M68k 197. -ffixed-d2 保留 d2 寄存器仅限 M68k 198. -ffixed-d3 保留 d3 寄存器仅限 M68k 199. -ffixed-d4 保留 d4 寄存器仅限 M68k 200. -ffixed-d5 保留 d5 寄存器仅限 M68k 201. -ffixed-d6 保留 d6 寄存器仅限 M68k 202. -ffixed-d7 保留 d7 寄存器仅限 M68k afl-cc -o target target.c -ffixed-d0 -ffixed-d1 -ffixed-d2 -ffixed-d3 -ffixed-d4 -ffixed-d5 -ffixed-d6 -ffixed-d7 203. -ffixed-g1 保留 G1 寄存器仅限 SPARC 204. -ffixed-g2 保留 G2 寄存器仅限 SPARC 205. -ffixed-g3 保留 G3 寄存器仅限 SPARC 206. -ffixed-g4 保留 G4 寄存器仅限 SPARC 207. -ffixed-g5 保留 G5 寄存器仅限 SPARC 208. -ffixed-g6 保留 G6 寄存器仅限 SPARC 209. -ffixed-g7 保留 G7 寄存器仅限 SPARC 210. -ffixed-i0 保留 I0 寄存器仅限 SPARC 211. -ffixed-i1 保留 I1 寄存器仅限 SPARC 212. -ffixed-i2 保留 I2 寄存器仅限 SPARC 213. -ffixed-i3 保留 I3 寄存器仅限 SPARC 214. -ffixed-i4 保留 I4 寄存器仅限 SPARC 215. -ffixed-i5 保留 I5 寄存器仅限 SPARC 216. -ffixed-l0 保留 L0 寄存器仅限 SPARC 217. -ffixed-l1 保留 L1 寄存器仅限 SPARC 218. -ffixed-l2 保留 L2 寄存器仅限 SPARC 219. -ffixed-l3 保留 L3 寄存器仅限 SPARC 220. -ffixed-l4 保留 L4 寄存器仅限 SPARC 221. -ffixed-l5 保留 L5 寄存器仅限 SPARC 222. -ffixed-l6 保留 L6 寄存器仅限 SPARC 223. -ffixed-l7 保留 L7 寄存器仅限 SPARC afl-cc -o target target.c -ffixed-g1 -ffixed-g2 -ffixed-g3 -ffixed-g4 -ffixed-g5 -ffixed-g6 -ffixed-g7 -ffixed-i0 -ffixed-i1 -ffixed-i2 -ffixed-i3 -ffixed-i4 -ffixed-i5 -ffixed-l0 -ffixed-l1 -ffixed-l2 -ffixed-l3 -ffixed-l4 -ffixed-l5 -ffixed-l6 -ffixed-l7 224. -ffixed-o0 保留 O0 寄存器仅限 SPARC 225. -ffixed-o1 保留 O1 寄存器仅限 SPARC 226. -ffixed-o2 保留 O2 寄存器仅限 SPARC 227. -ffixed-o3 保留 O3 寄存器仅限 SPARC 228. -ffixed-o4 保留 O4 寄存器仅限 SPARC 229. -ffixed-o5 保留 O5 寄存器仅限 SPARC 230. -ffixed-point 启用定点类型 231. -ffixed-r19 保留寄存器 r19仅限 Hexagon 232. -ffixed-r9 保留 r9 寄存器仅限 ARM 233. -ffixed-x10 保留 x10 寄存器仅限 AArch64/RISC-V 234. -ffixed-x11 保留 x11 寄存器仅限 AArch64/RISC-V 235. -ffixed-x12 保留 x12 寄存器仅限 AArch64/RISC-V 236. -ffixed-x13 保留 x13 寄存器仅限 AArch64/RISC-V 237. -ffixed-x14 保留 x14 寄存器仅限 AArch64/RISC-V 238. -ffixed-x15 保留 x15 寄存器仅限 AArch64/RISC-V 239. -ffixed-x16 保留 x16 寄存器仅限 AArch64/RISC-V 240. -ffixed-x17 保留 x17 寄存器仅限 AArch64/RISC-V 241. -ffixed-x18 保留 x18 寄存器仅限 AArch64/RISC-V 242. -ffixed-x19 保留 x19 寄存器仅限 AArch64/RISC-V 243. -ffixed-x1 保留 x1 寄存器仅限 AArch64/RISC-V afl-cc -o target target.c -ffixed-o0 -ffixed-o1 -ffixed-o2 -ffixed-o3 -ffixed-o4 -ffixed-o5 -ffixed-point -ffixed-r19 -ffixed-r9 -ffixed-x10 -ffixed-x11 -ffixed-x12 -ffixed-x13 -ffixed-x14 -ffixed-x15 -ffixed-x16 -ffixed-x17 -ffixed-x18 -ffixed-x19 -ffixed-x1 244. -ffixed-x20 保留 x20 寄存器仅限 AArch64/RISC-V 245. -ffixed-x21 保留 x21 寄存器仅限 AArch64/RISC-V 246. -ffixed-x22 保留 x22 寄存器仅限 AArch64/RISC-V 247. -ffixed-x23 保留 x23 寄存器仅限 AArch64/RISC-V 248. -ffixed-x24 保留 x24 寄存器仅限 AArch64/RISC-V 249. -ffixed-x25 保留 x25 寄存器仅限 AArch64/RISC-V 250. -ffixed-x26 保留 x26 寄存器仅限 AArch64/RISC-V 251. -ffixed-x27 保留 x27 寄存器仅限 AArch64/RISC-V 252. -ffixed-x28 保留 x28 寄存器仅限 AArch64/RISC-V 253. -ffixed-x29 保留 x29 寄存器仅限 AArch64/RISC-V 254. -ffixed-x2 保留 x2 寄存器仅限 AArch64/RISC-V 255. -ffixed-x30 保留 x30 寄存器仅限 AArch64/RISC-V 256. -ffixed-x31 保留 x31 寄存器仅限 AArch64/RISC-V 257. -ffixed-x3 保留 x3 寄存器仅限 AArch64/RISC-V 258. -ffixed-x4 保留 x4 寄存器仅限 AArch64/RISC-V 259. -ffixed-x5 保留 x5 寄存器仅限 AArch64/RISC-V 260. -ffixed-x6 保留 x6 寄存器仅限 AArch64/RISC-V 261. -ffixed-x7 保留 x7 寄存器仅限 AArch64/RISC-V 262. -ffixed-x8 保留 x8 寄存器仅限 AArch64/RISC-V 263. -ffixed-x9 保留 x9 寄存器仅限 AArch64/RISC-V afl-cc -o target target.c -ffixed-x20 -ffixed-x21 -ffixed-x22 -ffixed-x23 -ffixed-x24 -ffixed-x25 -ffixed-x26 -ffixed-x27 -ffixed-x28 -ffixed-x29 -ffixed-x2 -ffixed-x30 -ffixed-x31 -ffixed-x31 -ffixed-x4 -ffixed-x5 -ffixed-x6 -ffixed-x7 -ffixed-x8 -ffixed-x9 264. -fforce-check-cxx20-modules-input-files 显式检查 C20 模块的输入源文件 265. -fforce-dwarf-frame 始终发出调试框架部分 266. -fforce-emit-vtables 发出更多虚表以改进去虚拟化 267. -fforce-enable-int128 启用对 int128_t 类型的支持 268. -ffp-contractvalue 形成融合浮点运算操作例如 FMA 269. -ffp-eval-methodvalue 指定用于浮点运算的求值方法。 270. -ffp-exception-behaviorvalue 指定浮点运算的异常行为。 271. -ffp-modelvalue 控制浮点计算的语义。 afl-cc -o target target.c -fforce-check-cxx20-modules-input-files -fforce-dwarf-frame -fforce-emit-vtables -fforce-enable-int128 -ffp-contracttest -ffp-eval-methodtest -ffp-exception-behaviortest -ffp-modeltest 272. -ffreestanding 断言编译在独立环境中进行 273. -ffuchsia-api-levelvalue 设置 Fuchsia API 级别 274. -ffunction-sections 将每个函数放在其自己的部分 275. -fglobal-isel 启用全局指令选择器 276. -fgnu-keywords 允许使用 GNU 扩展关键字无论语言标准如何 277. -fgnu-runtime 生成与标准 GNU Objective-C 运行时兼容的输出 278. -fgnu89-inline 使用 gnu89 内联语义 279. -fgnuc-versionvalue 设置各种宏以声明与给定的 GCC 版本兼容默认为 4.2.1 280. -fgpu-allow-device-init 允许在 HIP 中使用设备端初始化函数实验性 281. -fgpu-approx-transcendentals 使用近似超越函数 282. -fgpu-default-streamvalue 指定默认流。默认值为“legacy”。 仅限 CUDA/HIP 283. -fgpu-defer-diag 推迟 CUDA/HIP 的主机/设备相关诊断消息 284. -fgpu-flush-denormals-to-zero 在 CUDA/HIP 设备模式下将非规格化浮点值刷新为零。 afl-cc -o target target.c -ffreestanding -ffuchsia-api-leveltest -ffunction-sections -fglobal-isel -fgnu-keywords -fgnu-runtime -fgnu89-inline -fgnuc-version4.2.1 -fgpu-allow-device-init -fgpu-approx-transcendentals -fgpu-default-streamlegacy -fgpu-defer-diag -fgpu-flush-denormals-to-zero 285. -fgpu-rdc 生成可重定位设备代码也称为单独编译模式 286. -fgpu-sanitize 为支持的卸载设备启用清理程序 287. -fhip-emit-relocatable 将 HIP 源编译为可重定位代码 288. -fhip-fp32-correctly-rounded-divide-sqrt 指定程序源中使用的单精度浮点除法和平方根运算是否正确舍入仅限 HIP 设备编译 289. -fhip-kernel-arg-name 指定保留内核参数名称仅限 HIP 290. -fhip-new-launch-api 为 HIP 使用新的内核启动 API 291. -fhlsl-strict-availability 为 HLSL 内置函数启用严格可用性诊断模式。 292. -fhonor-infinities 指定不允许进行假设参数和结果不为 -inf 的浮点优化。 293. -fhonor-nans 指定不允许进行假设参数和结果不为 NAN 的浮点优化。 294. -fignore-exceptions 启用忽略异常处理结构的支持。 295. -fimplicit-module-maps 隐式搜索文件系统中的模块映射文件。 296. -fincremental-extensions 启用增量处理扩展例如全局范围内的处理语句。 afl-cc -o target target.c -fgpu-rdc -fgpu-sanitize -fhip-emit-relocatable -fhip-fp32-correctly-rounded-divide-sqrt -fhip-kernel-arg-name -fhip-new-launch-api -fhlsl-strict-availability -fhonor-infinities -fhonor-nans -fignore-exceptions -fimplicit-module-maps -fincremental-extensions 297. -finline-functions 内联合适的函数 298. -finline-hint-functions 内联显式或隐式标记为内联的函数 299. -finline-max-stacksizevalue 抑制堆栈大小超过指定值的函数的内联 300. -finput-charsetvalue 指定源文件的默认字符集 301. -finstrument-function-entry-bare 仅在内联后对函数入口进行插桩且不向插桩调用提供参数 302. -finstrument-functions-after-inlining 类似于 -finstrument-functions但在内联后插入调用 303. -finstrument-functions 生成对插桩函数入口和出口的调用 304. -fintegrated-as 启用集成汇编器 305. -fintegrated-cc1 在进程内运行 cc1 306. -fintegrated-objemitter 使用内部机器目标代码发射器 307. -fjmc 启用“仅我的代码”调试 308. -fjump-tables 使用跳转表降低开关 309. -fkeep-persistent-storage-variables 启用保留所有具有持久存储期限的变量包括全局变量、静态变量和线程局部变量以确保它们可以被直接寻址 310. -fkeep-static-consts 保留静态常量变量即使未使用 afl-cc -o target target.c -finline-functions -finline-hint-functions -finline-max-stacksizetest -finput-charsettest -finstrument-function-entry-bare -finstrument-functions-after-inlining -finstrument-functions -fintegrated-as -fintegrated-cc1 -fintegrated-objemitter -fjmc -fjump-tables -fkeep-persistent-storage-variables -fkeep-static-consts 311. -fkeep-system-includes 在发出预处理器输出时保留 #include 指令而不是扩展系统头文件。这在生成用于减少测试用例的预处理输出时非常有用。如果控制包含内容的预处理器符号例如 _XOPEN_SOURCE在包含源文件中定义则可能会产生错误的输出。生成的源代码到其他编译环境的可移植性无法保证。 仅与 -E 选项一起使用时有效。 312. -flax-vector-conversionsvalue 启用隐式向量位转换 313. -flto-jobsvalue 控制 -fltothin 的后端并行度默认值 0 表示线程数将根据检测到的 CPU 数量确定 314. -fltoauto 在“完整”模式下启用 LTO 315. -fltojobserver 在“完整”模式下启用 LTO 316. -fltovalue 设置 LTO 模式 317. -flto 在“完整”模式下启用 LTO 318. -fmacro-backtrace-limitvalue 设置宏扩展回溯中打印的最大条目数0 无限制 319. -fmacro-prefix-mapvalue 在预定义的预处理宏和 __builtin_FILE() 中重新映射文​​件源路径。隐含 -ffile-reproducible 选项。 320. -fmath-errno 要求数学函数通过设置 errno 来指示错误 afl-cc -o target target.c -E -fkeep-system-includes -flax-vector-conversions10 -flto-jobs0 -fltoauto -flto1 -flto -fmacro-backtrace-limit0 -fmacro-prefix-map0 -fmath-errno 321. -fmax-tokensvalue 指定 -Wmax-tokens 的最大预处理 token 总数。 322. -fmax-type-alignvalue 指定对未明确指定对齐方式的指针强制执行的最大对齐方式。 323. -fmemory-profile-usepathname 使用内存配置文件进行配置文件引导的内存优化。 324. -fmemory-profiledirectory 启用堆内存分析并将结果转储到 directory。 325. -fmemory-profile 启用堆内存分析。 326. -fmerge-all-constants 允许合并常量。 327. -fmessage-lengthvalue 格式化诊断信息使其适合 N 列。 328. -fminimize-whitespace 发出预处理器输出时忽略输入文件中的空格。它仅在必要时才包含空格例如为了防止两个减号合并到增量运算符中。与 -P 选项配合使用可以规范化空格使两个仅格式更改的文件相等。 仅适用于 C 类输入的 -E 选项且与 -traditional-cpp 不兼容。 329. -fmodule-file[name]file 指定模块名称到预编译模块文件的映射如果省略名称则加载模块文件。 afl-cc -o target target.c -fmax-tokens0 -fmax-type-align1 -fmemory-profile-usetest -fmemory-profileoutput -fmerge-all-constants -fmessage-length3 -fminimize-whitespace -fmodule-fileoutput/ 330. -fmodule-headerkind 从用户 (fmodule-headeruser) 或系统 (fmodule-headersystem) 搜索路径中应找到的头文件构建 C20 头文件单元。 331. -fmodule-header 从头文件构建 C20 头文件单元。 332. -fmodule-map-filefile 加载此模块映射文件。 333. -fmodule-namename 指定要构建的模块名称。 334. -fmodule-outputvalue 编译标准 C 模块单元时保存中间模块文件结果。 335. -fmodule-output 编译标准 C 模块单元时保存中间模块文件结果。 336. -fmodules-cache-pathdirectory 指定模块缓存路径 337. -fmodules-decluse 要求声明模块中使用的模块 338. -fmodules-disable-diagnostic-validation 加载模块时禁用诊断选项验证 339. -fmodules-ignore-macrovalue 构建和加载模块时忽略指定宏的定义 340. -fmodules-prune-afterseconds 指定模块文件被视为未使用的时间间隔以秒为单位 341. -fmodules-prune-intervalseconds 指定尝试修剪模块缓存的时间间隔以秒为单位 afl-cc -o target target.c -fmodule-headertest -fmodule-header -fmodule-map-filetarget -fmodule-nametarget -fmodule-outputoutput -fmodules-cache-pathoutput -fmodules-decluse -fmodules-disable-diagnostic-validation -fmodules-ignore-macrotest -fmodules-prune-after10 -fmodules-prune-interval20 342. -fmodules-search-all 搜索非导入模块以解析引用 343. -fmodules-strict-decluse 与 -fmodules-decluse 类似但要求所有头文件都必须位于模块中 344. -fmodules-user-build-path directory 指定模块用户构建路径 345. -fmodules-validate-input-files-content 如果修改时间不同则根据内容验证 PCM 输入文件 346. -fmodules-validate-once-per-build-session 如果模块在本次构建会话中已成功验证或加载则不验证模块的输入文件 347. -fmodules-validate-system-headers 加载模块时验证模块所依赖的系统头文件 348. -fmodules 启用“modules”语言功能 349. -fms-compatibility-versionvalue 以点分隔的值表示要在 _MSC_VER 中报告的 Microsoft 编译器版本号0 未定义默认 350. -fms-compatibility 启用完整Microsoft Visual C 兼容性 351. -fms-define-stdc 在 MSVC 兼容模式下将 __STDC__ 定义为 1 352. -fms-extensions 接受 Microsoft 编译器支持的一些非标准结构 353. -fms-hotpatch 确保所有函数均可在运行时进行热修补 afl-cc -o target target.c -fmodules-search-all -fmodules-strict-decluse -fmodules-user-build-path output -fmodules-validate-input-files-content -fmodules-validate-once-per-build-session -fmodules-validate-system-headers -fmodules -fms-compatibility-version0 -fms-compatibility -fms-define-stdc -fms-extensions -fms-hotpatch 354. -fms-runtime-libvalue 选择 Windows 运行时库 355. -fms-volatile 易失性加载和存储具有获取和释放语义 356. -fmsc-versionvalue 要在 _MSC_VER 中报告的 Microsoft 编译器版本号0 不定义默认 357. -fnew-alignmentalign 指定 ::operator new(size_t) 保证的最大对齐方式 358. -fnew-infallible 允许将抛出的全局 C 运算符 new 视为始终返回有效内存使用 __attribute__((returns_nonnull)) 和 throw() 进行注释。这在源代码中可检测到。 359. -fno-aapcs-bitfield-width 不遵循 AAPCS 标准要求该要求规定易失性位字段宽度由字段容器类型决定。仅限 ARM。 360. -fno-access-control 禁用 C 访问控制 361. -fno-addrsig 不生成地址重要性表 362. -fno-apinotes-modules 禁用基于模块的外部 API 注释支持 363. -fno-apinotes 禁用外部 API 注释支持 364. -fno-assume-sane-operator-new 不要假设 C 的全局 new 运算符不能为任何指针指定别名 365. -fno-assume-unique-vtables 禁用基于 vtable 指针标识的优化 afl-cc -o target target.c -fms-runtime-libwindows -fms-volatile -fmsc-version0 -fnew-alignment10 -fnew-infallible -fno-aapcs-bitfield-width -fno-access-control -fno-addrsig -fno-apinotes-modules -fno-apinotes -fno-assume-sane-operator-new -fno-assume-unique-vtables 366. -fno-assumptions 禁用 C23 的 [[assume]] 属性的代码生成和编译时检查 367. -fno-auto-import MinGW 专用。禁用代码生成和链接中自动 dllimport 的支持 368. -fno-autolink 禁用自动库链接的链接器指令生成 369. -fno-builtin-value 禁用特定函数的隐式内置函数 370. -fno-builtin 禁用函数的隐式内置函数 371. -fno-c-static-destructors 禁用 C 静态析构函数注册 372. -fno-char8_t 禁用 C 内置类型 char8_t 373. -fno-clangir 使用 AST - LLVM 流水线进行编译 374. -fno-color-diagnostics 禁用诊断中的颜色 375. -fno-common 像普通定义一样编译通用全局变量 376. -fno-complete-member-pointers 如果成员指针基类型在 Microsoft ABI 下很重要则不要求它们完整 377. -fno-constant-cfstrings 禁用创建 CodeFoundation 类型的常量字符串 378. -fno-convergent-functions 假设所有函数都可以收敛。 379. -fno-coverage-mapping 禁用代码覆盖率分析 380. -fno-coverage-mcdc 禁用 MC/DC 覆盖率标准 381. -fno-crash-diagnostics 禁用在 clang 崩溃期间自动生成预处理源文件和复现脚本 afl-cc -o target target.c -fno-assumptions -fno-auto-import -fno-autolink -fno-builtin-0 -fno-builtin -fno-c-static-destructors -fno-char8_t -fno-clangir -fno-color-diagnostics -fno-common -fno-complete-member-pointers -fno-constant-cfstrings -fno-convergent-functions -fno-coverage-mapping -fno-coverage-mcdc -fno-crash-diagnostics 382. -fno-cx-limited-range 涉及复杂算术运算的基本代数展开已被禁用。 383. -fno-cxx-modules 禁用 C 模块 384. -fno-debug-macro 不显示宏调试信息 385. -fno-declspec 禁止使用 __declspec 作为关键字 386. -fno-define-target-os-macros 禁用预定义的目标操作系统宏 387. -fno-delayed-template-parsing 禁用延迟模板解析 388. -fno-delete-null-pointer-checks 不将空指针的使用视为未定义行为 389. -fno-diagnostics-fixit-info 诊断信息中不包含 fixit 信息 390. -fno-diagnostics-show-line-numbers 在诊断代码片段中显示行号 391. -fno-digraphs 禁止使用其他标记表示法例如“:”、“:”、“%”、“%”、“%:”、“%:%:” 392. -fno-direct-access-external-data 使用 GOT 间接引用外部数据符号 393. -fno-disable-block-signature-string 不禁用块签名字符串 394. -fno-discard-value-names 不丢弃 LLVM IR 中的值名称 395. -fno-dollars-in-identifiers 禁止在标识符中使用“$” afl-cc -o target target.c -fno-cx-limited-range -fno-cxx-modules -fno-debug-macro -fno-declspec -fno-define-target-os-macros -fno-delayed-template-parsing -fno-delete-null-pointer-checks -fno-diagnostics-fixit-info -fno-diagnostics-show-line-numbers -fno-digraphs -fno-direct-access-external-data -fno-disable-block-signature-string -fno-discard-value-names -fno-dollars-in-identifiers 396. -fno-elide-constructors 禁用 C 复制构造函数省略 397. -fno-elide-type 打印诊断信息时不省略类型 398. -fno-eliminate-unused-debug-types 为已定义但未使用的类型发出调试信息 399. -fno-exceptions 禁用异常处理支持 400. -fno-experimental-late-parse-attributes 禁用实验性的属性延迟解析 401. -fno-experimental-relative-c-abi-vtables 对于带有虚表的类请勿使用实验性的 C 类 ABI 402. -fno-experimental-sanitize-metadatavalue 禁用为二进制分析清理器发出元数据 403. -fno-fat-lto-objects 禁用胖 LTO 对象支持 404. -fno-file-reproducible 扩展 __FILE__ 宏时使用主机平台特定的路径分隔符 405. -fno-fine-grained-bitfield-accesses 使用用于连续位域运行的大整数访问。 406. -fno-finite-loops 不假设任何循环都是有限的。 407. -fno-fixed-point 禁用定点类型 408. -fno-force-enable-int128 禁用对 int128_t 类型的支持 409. -fno-global-isel 禁用全局指令选择器 410. -fno-gnu-inline-asm 禁用 GNU 风格的内联汇编 afl-cc -o target target.c -fno-elide-constructors -fno-elide-type -fno-eliminate-unused-debug-types -fno-exceptions -fno-experimental-late-parse-attributes -fno-experimental-relative-c-abi-vtables -fno-experimental-sanitize-metadata0 -fno-fat-lto-objects -fno-file-reproducible -fno-fine-grained-bitfield-accesses -fno-finite-loops -fno-fixed-point -fno-force-enable-int128 -fno-global-isel -fno-gnu-inline-asm 411. -fno-gpu-allow-device-init 禁止在 HIP 中使用设备端初始化函数实验性 412. -fno-gpu-approx-transcendentals 不使用近似超越函数 413. -fno-gpu-defer-diag 不延迟 CUDA/HIP 的主机/设备相关诊断消息 414. -fno-hip-emit-relocatable 不覆盖工具链以将 HIP 源编译为可重定位文件 415. -fno-hip-fp32-correctly-rounded-divide-sqrt 不指定程序源中使用的单精度浮点除法和平方根运算是否正确舍入仅限 HIP 设备编译 416. -fno-hip-kernel-arg-name 不指定保留内核参数名称仅限 HIP 417. -fno-hip-new-launch-api 不为 HIP 使用新的内核启动 API 418. -fno-integrated-as 禁用集成汇编程序 419. -fno-integrated-cc1 为每个 cc1 生成一个单独的进程 420. -fno-integrated-objemitter 使用外部机器目标代码发射器。 421. -fno-jump-tables 不使用跳转表来降低开关 afl-cc -o target target.c -fno-gpu-allow-device-init -fno-gpu-approx-transcendentals -fno-gpu-defer-diag -fno-hip-emit-relocatable -fno-hip-fp32-correctly-rounded-divide-sqrt -fno-hip-kernel-arg-name -fno-hip-new-launch-api -fno-integrated-as -fno-integrated-cc1 -fno-integrated-objemitter -fno-jump-tables 422. -fno-keep-persistent-storage-variables 禁用保留所有具有持久存储期限的变量包括全局变量、静态变量和线程局部变量以确保它们可以被直接寻址。 423. -fno-keep-static-consts 即使未使用也不保留静态常量。 424. -fno-knr-functions 禁用对 KR C 函数声明的支持。 425. -fno-lto 禁用 LTO 模式默认 426. -fno-memory-profile 禁用堆内存分析。 427. -fno-merge-all-constants 禁止合并常量。 428. -fno-modules-check-relocatedvalue 加载 PCM 文件时跳过对重定位模块的检查。 429. -fno-modules-validate-textual-header-includes 不对文本头文件强制执行 -fmodules-decluse 和私有头文件限制。此标志将在未来的 Clang 版本中移除。 430. -fno-new-infallible 禁止将抛出的全局 C 运算符 new 视为始终返回有效内存使用 __attribute__((returns_nonnull)) 和 throw() 进行注释。这在源代码中是可检测的。 431. -fno-objc-avoid-heapify-local-blocks 不尝试避免堆化局部块 432. -fno-objc-infer-related-result-type 不根据方法族推断 Objective-C 相关结果类型 433. -fno-offload-lto 禁用 LTO 模式默认以进行卸载编译 afl-cc -o target target.c -fno-keep-persistent-storage-variables -fno-keep-static-consts -fno-knr-functions -fno-lto -fno-memory-profile -fno-merge-all-constants -fno-modules-check-relocated -fno-modules-validate-textual-header-includes -fno-new-infallible -fno-objc-avoid-heapify-local-blocks -fno-objc-infer-related-result-type -fno-offload-lto 434. -fno-offload-uniform-b​​lock 不假设内核以统一的块大小启动CUDA/HIP 默认为 true其他情况为 false 435. -fno-openmp-extensions 禁用所有 OpenMP 指令和子句的 Clang 扩展 436. -fno-operator-names 不将 C 运算符名称关键字视为运算符的同义词 437. -fno-optimize-sibling-calls 禁用尾调用优化保持调用堆栈的准确性 438. -fno-pch-codegen 不为使用此 PCH 且假设将为 PCH 构建显式目标文件的代码生成代码 439. -fno-pch-debuginfo 不为从此 PCH 构建的目标文件中的类型生成调试信息也不在其他地方生成这些信息 440. -fno-plt 使用 GOT 间接寻址而不是 PLT 进行外部函数调用仅限 x86 441. -fno-preserve-as-comments 不保留内联汇编中的注释 442. -fno-profile-generate 禁用配置文件检测的生成。 443. -fno-profile-instr-generate 禁用生成配置文件插桩。 444. -fno-profile-instr-use 禁用使用插桩数据进行配置文件引导优化。 445. -fno-pseudo-probe-for-profiling 不为样本配置文件生成伪探针 afl-cc -o target target.c -fno-offload-uniform-block -fno-openmp-extensions -fno-operator-names -fno-optimize-sibling-calls -fno-pch-codegen -fno-pch-debuginfo -fno-plt -fno-preserve-as-comments -fno-profile-generate -fno-profile-instr-generate -fno-profile-instr-use -fno-pseudo-probe-for-profiling 446. -fno-raw-string-literals 禁用原始字符串字面值 447. -fno-register-global-dtors-with-atexit 不使用 atexit 或 __cxa_atexit 注册全局析构函数 448. -fno-relaxed-template-template-args 禁用 C17 宽松模板参数匹配 449. -fno-rtlib-add-rpath 不要将 -rpath 和特定于体系结构的资源目录添加到链接器标志中。指定 --hip-link 时请勿将带有 HIP 运行时库目录的 -rpath 添加到链接器标志中。 450. -fno-rtlib-defaultlib 在 Windows 上请勿发出 /defaultlib: 指令来链接编译器 RT 库。 451. -fno-rtti-data 禁用 RTTI 数据的生成。 452. -fno-rtti 禁用 RTTI 信息的生成。 453. -fno-sanitize-address-globals-dead-stripping 在 AddressSanitizer 中禁用链接器对全局变量的死区剥离。 454. -fno-sanitize-address-outline-instrumentation 使用地址清理器的默认代码内联逻辑。 455. -fno-sanitize-address-poison-custom-array-cookie 在 AddressSanitizer 中使用自定义 new[] 运算符时禁用对数组 cookie 进行污染。 afl-cc -o target target.c -fno-raw-string-literals -fno-register-global-dtors-with-atexit -fno-relaxed-template-template-args -fno-rtlib-add-rpath -fno-rtlib-defaultlib -fno-rtti-data -fno-rtti -fno-sanitize-address-globals-dead-stripping -fno-sanitize-address-outline-instrumentation -fno-sanitize-address-poison-custom-array-cookie 456. -fno-sanitize-address-use-after-scope 在 AddressSanitizer 中禁用 use-after-scope 检测 457. -fno-sanitize-address-use-odr-indicator 禁用 ODR 指示符全局变量 458. -fno-sanitize-cfi-canonical-jump-tables 请勿使符号表中的跳转表地址规范化 459. -fno-sanitize-cfi-cross-dso 禁用跨 DSO 调用的控制流完整性 (CFI) 检查。 460. -fno-sanitize-coveragevalue 禁用 Sanitizer 的覆盖率检测功能 461. -fno-sanitize-hwaddress-experimental-aliasing 禁用 HWAddressSanitizer 中的别名模式 462. -fno-sanitize-ignorelist 禁用 Sanitizer 的忽略列表文件 463. -fno-sanitize-memory-param-retval 禁用未初始化参数和返回值的检测 464. -fno-sanitize-memory-track-origins 禁用 MemorySanitizer 中的来源跟踪 465. -fno-sanitize-memory-use-after-dtor 禁用 MemorySanitizer 中的 use-after-destroy 检测 afl-cc -o target target.c -fno-sanitize-address-use-after-scope -fno-sanitize-address-use-odr-indicator -fno-sanitize-cfi-canonical-jump-tables -fno-sanitize-cfi-cross-dso -fno-sanitize-coveragetest -fno-sanitize-hwaddress-experimental-aliasing -fno-sanitize-ignorelist -fno-sanitize-memory-param-retval -fno-sanitize-memory-track-origins -fno-sanitize-memory-use-after-dtor 466. -fno-sanitize-recovervalue 禁用指定杀毒程序的恢复 467. -fno-sanitize-stable-abi 杀毒程序运行时的常规 ABI 检测。默认值Conventional常规 468. -fno-sanitize-stats 禁用杀毒程序统计信息收集。 469. -fno-sanitize-thread-atomics 在 ThreadSanitizer 中禁用原子操作检测 470. -fno-sanitize-thread-func-entry-exit 在 ThreadSanitizer 中禁用函数入口/出口检测 471. -fno-sanitize-thread-memory-access 在 ThreadSanitizer 中禁用内存访问检测 472. -fno-sanitize-trapvalue 禁用指定消毒剂的捕获 473. -fno-sanitize-trap 禁用所有消毒剂的捕获 474. -fno-short-wchar 强制 wchar_t 为无符号整数 475. -fno-show-column 诊断信息中不包含列号 476. -fno-show-source-location 诊断信息中不包含源位置信息 477. -fno-signed-char 字符为无符号字符 478. -fno-signed-zeros 允许忽略浮点零符号的优化 afl-cc -o target target.c -fno-sanitize-recovertest -fno-sanitize-stable-abi -fno-sanitize-stats -fno-sanitize-thread-atomics -fno-sanitize-thread-func-entry-exit -fno-sanitize-thread-memory-access -fno-sanitize-traptest -fno-sanitize-trap -fno-short-wchar -fno-show-column -fno-show-source-location -fno-signed-char -fno-signed-zeros 479. -fno-skip-odr-check-in-gmf 对全局模块片段中的声明执行 ODR 检查。 480. -fno-spell-checking 禁用拼写检查 481. -fno-split-machine-functions 使用配置文件信息禁用后期函数拆分 (x86 ELF) 482. -fno-split-stack 不使用分段堆栈 483. -fno-stack-clash-protection 禁用堆栈冲突保护 484. -fno-stack-protector 禁用堆栈保护器 485. -fno-standalone-debug 限制生成的调试信息以减小调试二进制文件的大小 486. -fno-strict-aliasing 禁用基于严格别名规则的优化 487. -fno-strict-float-cast-overflow 放宽语言规则并尝试匹配目标平台原生浮点型到整型转换指令的行为 488. -fno-strict-return 不将超出非 void 函数末尾的控制流路径视为不可访问 489. -fno-sycl 禁用设备的 SYCL 内核编译 490. -fno-temp-file 直接创建编译输出文件。如果编译器崩溃这可能会导致错误的增量构建。 491. -fno-threadsafe-statics 不发出代码来确保局部静态变量的初始化线程安全。 492. -fno-trigraphs 不处理三字母序列。 afl-cc -o target target.c -fno-skip-odr-check-in-gmf -fno-spell-checking -fno-split-machine-functions -fno-split-stack -fno-stack-clash-protection -fno-stack-protector -fno-standalone-debug -fno-strict-aliasing -fno-strict-float-cast-overflow -fno-strict-return -fno-sycl -fno-temp-file -fno-threadsafe-statics -fno-trigraphs 493. -fno-unified-lto 使用不同的 LTO 流水线 494. -fno-unique-section-names 文本段和数据段不使用唯一名称 495. -fno-unroll-loops 关闭循环展开器 496. -fno-use-cxa-atexit 不使用 __cxa_atexit 调用析构函数 497. -fno-use-init-array 使用 .ctors/.dtors 替代 .init_array/.fini_array 498. -fno-verify-intermediate-code 禁用 LLVM IR 验证 499. -fno-visibility-inlines-hidden-static-local-var 禁用 -fvisibility-inlines-hidden-static-local-var非 Darwin 目标平台默认设置 500. -fno-xray-function-index 忽略函数索引段但会降低单函数修补的性能 501. -fno-zero-initialized-in-bss 不放置BSS 中的零初始化数据 502. -fobjc-arc-exceptions 在 -fobjc-arc 中合成 retain 和 release 时请使用 EH 安全代码 503. -fobjc-arc 合成 Objective-C 指针的 retain 和 release 调用 504. -fobjc-avoid-heapify-local-blocks 尽量避免堆化局部块 afl-cc -o target target.c -fno-unified-lto -fno-unique-section-names -fno-unroll-loops -fno-use-cxa-atexit -fno-use-init-array -fno-verify-intermediate-code -fno-visibility-inlines-hidden-static-local-var -fno-xray-function-index -fno-zero-initialized-in-bss -fobjc-arc-exceptions -fobjc-arc -fobjc-avoid-heapify-local-blocks 505. -fobjc-disable-direct-methods-for-testing 忽略 objc_direct 属性以便测试直接方法 506. -fobjc-encode-cxx-class-template-spec 完全编码 C 类模板特化 507. -fobjc-exceptions 启用 Objective-C 异常 508. -fobjc-runtimevalue 指定目标 Objective-C 运行时类型和版本 509. -fobjc-weak 在 Objective-C 中启用 ARC 风格的弱引用 510. -foffload-implicit-host-device-templates 不带主机、设备和全局属性的模板函数或特化具有隐式主机设备属性仅限 CUDA/HIP 511. -foffload-ltovalue 设置 LTO 模式以进行卸载编译 512. -foffload-lto 启用“full”模式下的 LTO 以进行卸载编译 513. -foffload-uniform-b​​lock 假设内核以统一的块大小启动CUDA/HIP 默认为 true其他情况为 false 514. -fomit-frame-pointer 忽略不需要帧指针的函数。某些堆栈展开情况例如分析器和清理器可能更倾向于指定 -fno-omit-frame-pointer。在许多目标平台上-O1 及更高版本默认忽略帧指针。-m[no-]omit-leaf-frame-pointer 对于叶函数优先。 515. -fopenacc 启用 OpenACC 516. -fopenmp-extensions 启用所有 Clang 扩展以支持 OpenMP 指令和子句。 517. -fopenmp-force-usm 强制执行行为如同用户指定的 pragma omp 需要 unified_shared_memory 一样。 afl-cc -o target target.c -fobjc-disable-direct-methods-for-testing -fobjc-encode-cxx-class-template-spec -fobjc-exceptions -fobjc-runtime0 -fobjc-weak -foffload-implicit-host-device-templates -foffload-ltotest -foffload-lto -foffload-uniform-block -fomit-frame-pointer -fopenacc -fopenmp-extensions -fopenmp-force-usm 518. -fopenmp-offload-mandatory 如果卸载到设备失败则不创建主机回退。 519. -fopenmp-simd 仅为基于 SIMD 的构造生成 OpenMP 代码。 520. -fopenmp-target-debug 在 OpenMP 卸载设备 RTL 中启用调试。 521. -fopenmp-target-jit 生成可进行 JIT 编译以用于 OpenMP 卸载的代码。隐含 -foffload-ltofull。 522. -fopenmp-targetsvalue 指定要支持的三元组 OpenMP 卸载目标的逗号分隔列表。 523. -fopenmp-versionvalue 设置 OpenMP 版本例如OpenMP 4.5 为 45OpenMP 5.1 为 51。Clang 的默认值为 51。 524. -fopenmp 解析 OpenMP 指令并生成并行代码。 525. -foperator-arrow-depthvalue 成员访问时调用的最大“operator-”数量 526. -foptimization-record-filefile 指定包含优化备注的文件的输出名称。隐含 -fsave-optimization-record。在 Darwin 平台上此选项不能与多个 -arch arch 选项一起使用。 afl-cc -o target target.c -fopenmp-offload-mandatory -fopenmp-simd -fopenmp-target-debug -fopenmp-target-jit -fopenmp-targetstest -fopenmp-version51 -foperator-arrow-depth5 -foptimization-record-fileoutput 527. -foptimization-record-passesregex 仅包含生成的优化记录中与指定正则表达式匹配的pass默认情况下包含所有pass 528. -forder-file-instrumentation 生成已检测的代码将订单文件收集到default.profraw文件中可通过选项或LLVM_PROFILE_FILE环境变量的“”形式覆盖 529. -fpack-structvalue 指定默认的最大结构体打包对齐方式 530. -fpascal-strings 识别并构造Pascal风格的字符串文字 531. -fpass-plugindsopath 从动态共享对象文件加载pass插件仅限新的pass管理器。 532. -fpatchable-function-entryN,M 在函数入口前生成 M 个 NOP在函数入口后生成 N-M 个 NOP 533. -fpcc-struct-return 覆盖默认 ABI 以返回堆栈上的所有结构体 534. -fpch-codegen 为使用此 PCH 生成代码并假设将为 PCH 构建一个显式目标文件 535. -fpch-debuginfo 为从此 PCH 构建的目标文件中的类型生成调试信息并且不会在其他地方生成它们 afl-cc -o target target.c -foptimization-record-passespass -forder-file-instrumentation -fpack-struct1 -fpascal-strings -fpass-pluginoutput -fpatchable-function-entry1,2 -fpcc-struct-return -fpch-codegen -fpch-debuginfo 536. -fpch-instantiate-templates 构建 PCH 时实例化模板 537. -fpch-validate-input-files-content 如果修改时间不同则根据内容验证 PCH 输入文件 538. -fplugin-arg-name-arg 将 arg 传递给插件 name 539. -fplugindsopath 加载指定插件动态共享对象 540. -fprebuilt-implicit-modules 在预构建模块路径中查找隐式模块 541. -fprebuilt-module-pathdirectory 指定预构建模块路径 542. -fproc-stat-reportvalue 将子进程统计信息保存到指定文件 543. -fproc-stat-reportvalue 打印子进程统计信息 544. -fprofile-arcs 生成 gcov 数据文件 (*.gcda) 的 Instrument 代码 545. -fprofile-exclude-filesvalue Instrument 仅对名称与所有以分号分隔的正则表达式不匹配的文件执行操作 546. -fprofile-filter-filesvalue 仪器仅对名称与分号分隔的正则表达式匹配的文件起作用 afl-cc -o target target.c -fpch-instantiate-templates -fpch-validate-input-files-content -fplugin-arg-name-arg -fpluginoutput -fprebuilt-implicit-modules -fprebuilt-module-pathoutput -fproc-stat-report1 -fproc-stat-report -fprofile-arcs -fprofile-exclude-files1 -fprofile-filter-files2 547. -fprofile-function-groupsN 将函数划分为 N 组并使用 -fprofile-selected-function-group 仅选择第 i 组中的函数进行插桩 548. -fprofile-generatedirectory 生成插桩代码将执行计数收集到 directory/default.profraw 中会被 LLVM_PROFILE_FILE 环境变量覆盖 549. -fprofile-generate 生成插桩代码将执行计数收集到 default.profraw 中会被 LLVM_PROFILE_FILE 环境变量覆盖 550. -fprofile-instr-generatefile 生成插桩代码将执行计数收集到 file 中会被 LLVM_PROFILE_FILE 环境变量覆盖 551. -fprofile-instr-generate 生成插桩代码将执行计数收集到 default.profraw 文件中会被选项的“”形式或 LLVM_PROFILE_FILE 环境变量覆盖 552. -fprofile-instr-usevalue 使用插桩数据用于配置文件引导优化 553. -fprofile-listvalue 定义要检测的函数/文件列表的文件名。该文件使用清理器特例列表格式。 afl-cc -o target target.c -fprofile-function-groups1 -fprofile-generatedefault.profraw -fprofile-generate -fprofile-instr-generateoutput -fprofile-instr-generate -fprofile-instr-usevalue -fprofile-listvalue 554. -fprofile-remapping-filefile 使用 file 中描述的重新映射将配置文件数据与程序中的名称进行匹配。 555. -fprofile-sample-accurate 指定样本配置文件是精确的。 556. -fprofile-sample-usevalue 启用基于样本的配置文件引导优化。 557. -fprofile-selected-function-groupi 使用 -fprofile-function-groups 将函数划分为 N 个组并仅选择第 i 组中的函数进行检测。有效范围为 0 到 N-1含。 558. -fprofile-updatemethod 设置配置文件计数器的更新方法。 559. -fprofile-usepathname 使用检测数据进行配置文件引导优化。如果 pathname 是目录则从 pathname/default.profdata 读取。否则从文件 pathname 读取。 560. -fprotect-parens 确定优化器在计算浮点表达式时是否支持括号 561. -fpseudo-probe-for-profiling 为样本分析发出伪探测 562. -fptrauth-auth-traps 启用身份验证失败时的陷阱 563. -fptrauth-calls 启用所有间接调用的签名和身份验证 afl-cc -o target target.c -fprofile-remapping-fileoutput -fprofile-sample-accurate -fprofile-sample-usetest -fprofile-selected-function-group1 -fprofile-updatemethod -fprofile-useoutput -fprotect-parens -fpseudo-probe-for-profiling -fptrauth-auth-traps -fptrauth-calls564. -fptrauth-function-pointer-type-discrimination 启用 C 函数指针的类型识别 565. -fptrauth-indirect-gotos 启用间接 goto 目标的签名和身份验证 566. -fptrauth-init-fini 启用 init/fini 数组中函数指针的签名 567. -fptrauth-intrinsics 启用指针身份验证内在函数 568. -fptrauth-returns 启用返回地址的签名和身份验证 569. -fptrauth-type-in​​fo-vtable-pointer-discrimination 启用 std::type_info 虚表指针的类型和地址识别 570. -fptrauth-vtable-pointer-address-discrimination 启用虚表指针的地址识别 571. -fptrauth-vtable-pointer-type-discrimination 启用虚表指针的类型识别 572. -frandomize-layout-seed-filefile 保存随机化结构布局功能使用的种子的文件 573. -frandomize-layout-seedseed 随机化结构布局功能使用的种子 574. -fraw-string-literals 启用原始字符串文字 575. -freciprocal-math 允许重新关联除法运算 afl-cc -o target target.c -fptrauth-function-pointer-type-discrimination -fptrauth-indirect-gotos -fptrauth-init-fini -fptrauth-intrinsics -fptrauth-returns -fptrauth-type-info-vtable-pointer-discrimination -fptrauth-vtable-pointer-address-discrimination -fptrauth-vtable-pointer-type-discrimination -frandomize-layout-seed-fileoutput -frandomize-layout-seed12 -fraw-string-literals -freciprocal-math 576. -freg-struct-return 覆盖默认 ABI以在寄存器中返回小型结构体 577. -fregister-global-dtors-with-atexit 使用 atexit 或 __cxa_atexit 注册全局析构函数 578. -frelaxed-template-template-args 启用 C17 宽松模板参数匹配 579. -fropi 生成只读位置无关代码仅限 ARM 580. -frtlib-add-rpath 将 -rpath 和特定于体系结构的资源目录添加到链接器标志。指定 --hip-link 时还需将 -rpath 和 HIP 运行时库目录添加到链接器标志中。 581. -frtlib-defaultlib 在 Windows 上发出 /defaultlib: 指令以链接编译器实时库默认。 582. -frwpi 生成读写位置无关代码仅限 ARM。 583. -fsafe-buffer-usage-suggestions 显示与 -Wunsafe-buffer-usage 警告相关的代码更新建议。 584. -fsample-profile-use-profi 使用 profi 推断块数和边数。 afl-cc -o target target.c -freg-struct-return -fregister-global-dtors-with-atexit -frelaxed-template-template-args -fropi -frtlib-add-rpath -frtlib-defaultlib -frwpi -fsafe-buffer-usage-suggestions -fsample-profile-use-profi 585. -fsanitize-address-destructorvalue 设置 AddressSanitizer 插桩工具发出的模块析构函数类型。这些析构函数用于在代码卸载时例如通过 dlclose()注销已插桩的全局变量。 586. -fsanitize-address-field-paddingvalue AddressSanitizer 的字段填充级别 587. -fsanitize-address-globals-dead-stripping 在 AddressSanitizer 中启用链接器全局变量的死区剥离 588. -fsanitize-address-outline-instrumentation 始终为地址清理器插桩生成函数调用 589. -fsanitize-address-poison-custom-array-cookie 在 AddressSanitizer 中使用自定义运算符 new[] 时启用数组 cookie 中毒 590. -fsanitize-address-use-after-returnmode 选择 AddressSanitizer 中堆栈返回后使用检测模式 591. -fsanitize-address-use-after-scope 在 AddressSanitizer 中启用作用域后使用检测 592. -fsanitize-address-use-odr-indicator 启用 ODR 指示全局变量以避免在部分清理的程序中出现错误的 ODR 违规报告但会增加二进制大小 afl-cc -o target target.c -fsanitize-address-destructortest -fsanitize-address-field-paddingtest -fsanitize-address-globals-dead-stripping -fsanitize-address-outline-instrumentation -fsanitize-address-poison-custom-array-cookie -fsanitize-address-use-after-returnmode -fsanitize-address-use-after-scope -fsanitize-address-use-odr-indicator 593. -fsanitize-cfi-canonical-jump-tables 使符号表中的跳转表地址规范化 594. -fsanitize-cfi-cross-dso 为跨 DSO 调用启用控制流完整性 (CFI) 检查。 595. -fsanitize-cfi-icall-experimental-normalize-integers 在 CFI 间接调用类型签名检查中规范化整数 596. -fsanitize-cfi-icall-generalize-pointers 在 CFI 间接调用类型签名检查中泛化指针 597. -fsanitize-coverage-allowlistvalue 将 Sanitizer 覆盖率检测限制在符合提供的特殊情况列表的模块和函数上被阻止的模块和函数除外 598. -fsanitize-coverage-ignorelistvalue 禁用 Sanitizer 覆盖率检测即使这些模块和函数符合提供的特殊情况列表即使是允许的模块和函数也是如此 599. -fsanitize-coveragevalue 指定 Sanitizer 的覆盖率检测类型 afl-cc -o target target.c -fsanitize-cfi-canonical-jump-tables -fsanitize-cfi-cross-dso -fsanitize-cfi-icall-experimental-normalize-integers -fsanitize-cfi-icall-generalize-pointers -fsanitize-coverage-allowlisttest -fsanitize-coverage-ignorelisttest -fsanitize-coveragetest 600. -fsanitize-hwaddress-abivalue 选择要定位的 HWAddressSanitizer ABI拦截器或平台默认拦截器。此选项目前未使用。 601. -fsanitize-hwaddress-experimental-aliasing 在 HWAddressSanitizer 中启用别名模式 602. -fsanitize-ignorelistvalue 消毒器的忽略列表文件路径 603. -fsanitize-memory-param-retval 启用未初始化参数和返回值的检测 604. -fsanitize-memory-track-originsvalue 在 MemorySanitizer 中启用来源跟踪 605. -fsanitize-memory-track-origins 在 MemorySanitizer 中启用来源跟踪 606. -fsanitize-memory-use-after-dtor 在 MemorySanitizer 中启用销毁后使用检测 607. -fsanitize-memtag-modevalue 将默认 MTE 模式设置为“同步”默认或“异步” 608. -fsanitize-recovervalue 为指定的消毒器启用恢复 609. -fsanitize-stable-abi 稳定版用于杀毒器运行时的 ABI 检测。默认值Conventional常规 610. -fsanitize-stats 启用杀毒器统计信息收集。 611. -fsanitize-system-ignorelistvalue 杀毒器系统忽略列表文件的路径 afl-cc -o target target.c -fsanitize-hwaddress-abi1 -fsanitize-hwaddress-experimental-aliasing -fsanitize-ignorelisttest -fsanitize-memory-param-retval -fsanitize-memory-track-origins1 -fsanitize-memory-track-origins -fsanitize-memory-use-after-dtor -fsanitize-memtag-modesync -fsanitize-recover1 -fsanitize-stable-abinormal -fsanitize-stats -fsanitize-system-ignorelistoutput 612. -fsanitize-thread-atomics 在 ThreadSanitizer 中启用原子操作检测默认 613. -fsanitize-thread-func-entry-exit 在 ThreadSanitizer 中启用函数入口/出口检测默认 614. -fsanitize-thread-memory-access 在 ThreadSanitizer 中启用内存访问检测默认 615. -fsanitize-trapvalue 为指定的消毒器启用捕获 616. -fsanitize-trap 为所有消毒器启用捕获 617. -fsanitize-undefined-strip-path-componentsnumber 在发出检查元数据时删除或仅保留如果为负数指定数量的路径组件。 618. -fsanitizecheck 针对各种形式的未定义或可疑行为启用运行时检查。请参阅用户手册了解可用的检查 619. -fsave-optimization-recordformat 生成特定格式的优化记录文件 620. -fsave-optimization-record 生成 YAML 优化记录文件 621. -fseh-exceptions 使用 SEH 样式的异常 622. -fseparate-named-sections 为命名部分使用单独的唯一部分仅限 ELF 623. -fshort-enums 为枚举类型分配其声明的可能值范围所需的字节数 afl-cc -o target target.c -fsanitize-thread-atomics -fsanitize-thread-func-entry-exit -fsanitize-thread-memory-access -fsanitize-traptest -fsanitize-undefined-strip-path-components12 -fsanitizecheck -fsave-optimization-recordformat -fsave-optimization-record -fseh-exceptions -fseparate-named-sections -fshort-enums 624. -fshort-wchar 强制 wchar_t 为短无符号整型 625. -fshow-overloadsvalue 当过载解析失败时显示哪些过载候选项。默认为“all”。 626. -fshow-skipped-includes 在 -H 输出中显示跳过的包含。 627. -fsigned-char 字符是有符号的。 628. -fsized-deallocation 启用 C14 大小的全局释放函数。 629. -fsjlj-exceptions 使用 SjLj 风格的异常。 630. -fskip-odr-check-in-gmf 跳过全局模块片段中声明的 ODR 检查。 631. -fslp-vectorize 启用超字级并行向量化过程 632. -fspell-checking-limitvalue 设置对无法识别的标识符执行拼写检查的最大次数0 无限制 633. -fsplit-dwarf-inlining 在使用 Split DWARF 时在没有 .dwo/.dwp 文件的情况下在对象/可执行文件中提供最少的调试信息以便于在线符号化/堆栈跟踪 634. -fsplit-lto-unit 启用 LTO 单元拆分 635. -fsplit-machine-functions 启用使用配置文件信息进行后期函数拆分 (x86 ELF) 636. -fsplit-stack 使用分段堆栈 637. -fstack-clash-protection 启用堆栈冲突保护 afl-cc -o target target.c -fshort-wchar -fshow-overloadsall -fshow-skipped-includes -fsigned-char -fsized-deallocation -fsjlj-exceptions -fskip-odr-check-in-gmf -fslp-vectorize -fspell-checking-limit0 -fsplit-dwarf-inlining -fsplit-lto-unit -fsplit-machine-functions -fsplit-stack -fstack-clash-protection 638. -fstack-protector-all 为所有函数启用堆栈保护器 639. -fstack-protector-strong 为一些易受堆栈溢出攻击 (stack smashing) 影响的函数启用堆栈保护器。与 -fstack-protector 相比此选项采用更强的启发式算法涵盖包含任意大小和任意类型数组的函数以及任何对 alloca 的调用或从局部变量获取地址的操作。 640. -fstack-protector 为一些易受堆栈溢出攻击 (stack smashing) 影响的函数启用堆栈保护器。此选项采用宽松的启发式算法如果函数包含字符或 8 位整数数组或常量大小的 alloca 调用且其大小大于 ssp-buffer-size默认值8 字节则认为这些函数易受攻击。所有可变大小的 alloca 调用都被视为易受攻击。启用堆栈保护器的函数会在堆栈框架中添加一个保护值并在函数退出时进行检查。该保护值在堆栈框架中的位置必须确保易受攻击变量的缓冲区溢出在覆盖函数返回地址之前先覆盖该保护值。引用堆栈保护值存储在全局变量中。 641. -fstack-size-section 发出包含函数堆栈大小元数据的节 642. -fstack-usage 发出包含函数堆栈大小信息的 .su 文件 643. -fstandalone-debug 发出程序使用的所有类型的完整调试信息 644. -fstrict-aliasing 启用基于严格别名规则的优化 645. -fstrict-enums 启用基于枚举值范围的严格定义的优化 afl-cc -o target target.c -fstack-protector-all -fstack-protector-strong -fstack-protector -fstack-size-section -fstack-usage -fstandalone-debug -fstrict-aliasing -fstrict-enums 646. -fstrict-flex-arraysn 启用基于灵活数组严格定义的优化 647. -fstrict-float-cast-overflow 假设溢出的浮点型到整型的强制类型转换未定义默认 648. -fstrict-vtable-pointers 启用基于覆盖多态 C 对象的严格规则的优化 649. -fswift-async-fpoption 控制 Swift 异步扩展帧信息的发布 650. -fsycl 启用设备的 SYCL 内核编译 651. -fsyntax-only 运行预处理器、解析器和语义分析阶段 652. -fsystem-module 将此模块构建为系统模块。仅与 -emit-module 一起使用 653. -ftemplate-backtrace-limitvalue 设置模板实例化回溯中打印的最大条目数0 无限制 654. -ftemplate-depthvalue 设置递归模板实例化的最大深度 655. -ftest-coverage 生成 gcov 注释文件 (*.gcno) 656. -fthin-link-bitcodevalue 仅针对 ThinLTO 瘦链接将最小化的位码写入 file afl-cc -o target target.c -fstrict-flex-arrays1 -fstrict-float-cast-overflow -fstrict-vtable-pointers -fswift-async-fp12 -fsycl -fsyntax-only -fsystem-module -ftemplate-backtrace-limit0 -ftemplate-depth0 -ftest-coverage -fthin-link-bitcode10 657. -fthinlto-indexvalue 使用提供的函数摘要索引执行 ThinLTO 导入 658. -ftime-reportvalue 适用于新的 pass 管理器per-pass每个 pass 生成一份报告per-pass-run每次 pass 调用生成一份报告 659. -ftime-trace-granularityvalue 时间分析器跟踪的最小时间粒度以微秒为单位 660. -ftime-trace-verbosevalue 使时间跟踪捕获详细的事件详细信息例如源文件名。这可以使输出大小增加 2-3 倍 661. -ftime-tracevalue 与 -ftime-trace 类似。指定 JSON 文件或包含 JSON 文件的目录 662. -ftime-trace 启用时间分析器。根据输出文件名生成 JSON 文件。 663. -ftrap-functionvalue 调用指定函数而不是陷阱指令 664. -ftrapv-handlerfunction name 指定溢出时调用的函数 665. -ftrapv 整数溢出陷阱 666. -ftrigraphs 处理三字组序列 667. -ftrivial-auto-var-init-max-sizevalue 如果变量大小超过指定的实例数以字节为单位则停止初始化简单的自动堆栈变量 afl-cc -o target target.c -fthinlto-indextest -ftime-reporttest -ftime-trace-granularity10 -ftime-tracetest -ftime-trace -ftrap-function1 -ftrapv-handlertest -ftrapv -ftrigraphs -ftrivial-auto-var-init-max-size10 668. -ftrivial-auto-var-init-stop-aftervalue 在指定数量的实例后停止初始化琐碎的自动堆栈变量 669. -ftrivial-auto-var-initvalue 初始化琐碎的自动堆栈变量。默认为“uninitialized未初始化” 670. -funified-lto 使用统一的 LTO 流水线 671. -funique-basic-block-section-names 为基本块部分使用唯一名称仅限 ELF 672. -funique-internal-linkage-names 通过附加模块路径的 MD5 哈希值来唯一化内部链接符号名称 673. -funroll-loops 开启循环展开器 674. -funsafe-math-optimizations 允许不安全的浮点数学优化这可能会降低精度 675. -fuse-cuidvalue 为单源卸载语言 CUDA 和 HIP 生成编译单元 ID 的方法hash通过哈希文件路径和命令行选项生成的 ID| randomID 生成为随机数| none禁用。默认值为 hash。如果指定了此选项则将被选项 -cuid[ID] 覆盖。 676. -fuse-line-directives 在预处理输出中使用 #line afl-cc -o target target.c -ftrivial-auto-var-init-stop-after1 -ftrivial-auto-var-inituninitalized -funified-lto -funique-basic-block-section-names -funique-internal-linkage-names -funroll-loops -funsafe-math-optimizations -fuse-cuidhash -fuse-line-directives 677. -fvalidate-ast-input-files-content 计算并存储用于构建AST的输入文件的哈希值。如果修改时间不匹配的文件内容相同则视为有效文件。 678. -fveclibvalue 使用指定的向量函数库 679. -fvectorize 启用循环向量化过程 680. -fverbose-asm 生成详细的汇编输出 681. -fverify-intermediate-code 启用LLVM IR验证 682. -fvirtual-function-elimination 启用死虚函数消除优化。需要-fltofull选项。 683. -fvisibility-dllexportvalue dllexport定义的可见性。如果指定了Keep则不调整可见性。[-fvisibility-from-dllstorageclass] 684. -fvisibility-externs-dllimportvalue dllimport外部声明的可见性。如果指定了 Keep则不调整可见性 [-fvisibility-from-dllstorageclass] 685. -fvisibility-externs-nodllstorageclassvalue 未指定显式 DLL 存储类型的外部声明的可见性。如果指定了 Keep则不调整可见性 [-fvisibility-from-dllstorageclass] 686. -fvisibility-from-dllstorageclass 根据全局变量的最终 DLL 存储类型覆盖其可见性。 afl-cc -o target target.c -fvalidate-ast-input-files-content -fveclibtest -fvectorize -fverbose-asm -fverify-intermediate-code -fvirtual-function-elimination -fvisibility-dllexport1 -fvisibility-externs-dllimport2 -fvisibility-externs-nodllstorageclass3 -fvisibility-from-dllstorageclass 687. -fvisibility-global-new-delete-hidden 使全局 C 运算符 new 和 delete 声明具有隐藏可见性 688. -fvisibility-global-new-deletevalue 全局 C 运算符 new 和 delete 声明的可见性。如果指定了“source”则不调整可见性。 689. -fvisibility-inlines-hidden-static-local-var 启用 -fvisibility-inlines-hidden 后内联 C 成员函数中的静态变量也将默认具有隐藏可见性。 690. -fvisibility-inlines-hidden 使内联 C 成员函数默认具有隐藏可见性。 691. -fvisibility-ms-compat 使全局类型具有“default”可见性全局函数和变量默认具有“hidden”可见性。 692. -fvisibility-nodllstorageclassvalue 未指定显式 DLL 存储类的定义的可见性。如果指定了 Keep则不调整可见性 [-fvisibility-from-dllstorageclass] 693. -fvisibilityvalue 设置所有全局定义的默认符号可见性 694. -fwasm-exceptions 使用 WebAssembly 风格的异常 695. -fwhole-program-vtables 启用全程序 vtable 优化。需要 -flto 696. -fwrapv 将有符号整数溢出视为二进制补码 afl-cc -o target target.c -fvisibility-global-new-delete-hidden -fvisibility-global-new-deletesource -fvisibility-inlines-hidden-static-local-var -fvisibility-inlines-hidden -fvisibility-ms-compat -fvisibility-nodllstorageclasskeep -fvisibilitytest -fwasm-exceptions -fwhole-program-vtables -fwrapv 697. -fwritable-strings 将字符串文字存储为可写数据 698. -fxl-pragma-pack 启用 IBM XL #pragma pack 处理 699. -fxray-always-emit-customevents 即使包含函数并非始终被检测也始终发出 __xray_customevent(...) 调用 700. -fxray-always-emit-typedevents 即使包含函数并非始终被检测也始终发出 __xray_typedevent(...) 调用 701. -fxray-always-instrumentvalue 已弃用定义用于注入“始终检测”XRay 属性的白名单的文件名。 702. -fxray-attr-listvalue 定义用于注入 XRay 属性的函数/类型列表的文件名。 703. -fxray-function-groupsvalue 仅检测 N 个组中的 1 个 704. -fxray-ignore-loops 除非循环函数也满足最小函数大小要求否则不检测带有循环的函数。 705. -fxray-instruction-thresholdvalue 设置使用 XRay 检测的最小函数大小。 706. -fxray-instrumentation-bundlevalue 选择要发出的 XRay 检测点。选项all、none、function-entry、function-exit、function、custom。默认值为“all”。“function”包含“function-entry”和“function-exit”。 afl-cc -o target target.c -fwritable-strings -fxl-pragma-pack -fxray-always-emit-customevents -fxray-always-emit-typedevents -fxray-always-instrumentxray -fxray-attr-listtest -fxray-function-groups1 -fxray-ignore-loops -fxray-instruction-threshold12 -fxray-instrumentation-bundleall 707. -fxray-instrument 在函数入口和出口生成 XRay 插桩工具。 708. -fxray-link-deps 指定 -fxray-instrument 时链接 XRay 运行时库默认。 709. -fxray-modesvalue 默认链接到 XRay 插桩二进制文件的模式列表。 710. -fxray-never-instrumentvalue 已弃用定义用于注入“从不插桩”XRay 属性的白名单的文件名。 711. -fxray-selected-function-groupvalue 使用 -fxray-function-groups 时选择要插桩的函数组。有效范围为 0 至 fxray-function-groups - 1 712. -fzero-call-used-regsvalue 函数返回时清除调用使用的寄存器仅限 AArch64/x86 713. -fzvector 启用 System z 矢量语言扩展 714. -F value 将目录添加到框架包含文件搜索路径 715. --gcc-install-dirvalue 使用指定目录中的 GCC 安装。该目录以类似“lib{,32,64}/gcc{,-cross}/$triple/$version”的路径部分结尾。注意编译器使用的可执行文件例如 ld不会被所选的 GCC 安装覆盖 afl-cc -o target target.c -fxray-instrument -fxray-link-deps -fxray-modesray -fxray-never-instrument1 -fxray-selected-function-group0 -fzero-call-used-regs45 -fzvector -F output --gcc-install-diroutput 716. --gcc-toolchainvalue 指定 Clang 可以找到“include”和“lib{,32,64}/gcc{,-cross}/$triple/$version”的目录。Clang 将使用版本最高的 GCC 安装。 717. --gcc-triplevalue 搜索包含指定三元组的 GCC 安装。 718. -gcodeview-command-line 将编译器路径和命令行发送到 CodeView 调试信息中 719. -gcodeview-ghash 将类型记录哈希值发送到 .debug$H 段 720. -gcodeview 生成 CodeView 调试信息 721. -gdwarf-2 使用 dwarf 版本 2 生成源代码级调试信息 722. -gdwarf-3 使用 dwarf 版本 3 生成源代码级调试信息 723. -gdwarf-4 使用 dwarf 版本 4 生成源代码级调试信息 724. -gdwarf-5 使用 dwarf 版本 5 生成源代码级调试信息 725. -gdwarf32 如果启用了调试信息生成则为 ELF 二进制文件启用 DWARF32 格式。 726. -gdwarf64 如果启用了调试信息生成则为 ELF 二进制文件启用 DWARF64 格式。 727. -gdwarf 使用默认的 Dwarf 版本生成源码级调试信息 728. -gembed-source 在 DWARF 调试部分嵌入源码文本 729. -gen-reproducervalue 启用重现器选项off关闭, crash (default)崩溃默认, error错误, always始终 afl-cc -o target target.c --gcc-toolchaininclude --gcc-tripletest -gcodeview-command-line -gcodeview-ghash -gcodeview -gdwarf-2 -gdwarf-3 -gdwarf-4 -gdwarf-5 -gdwarf32 -gdwarf64 -gdwarf -gembed-source -gen-reproducercrash 730. -gline-directives-only 仅发出调试行信息指令 731. -gline-tables-only 仅发出调试行号表 732. -gmodules 生成包含对 clang 模块或预编译头文件的外部引用的调试信息 733. -gno-codeview-command-line 不将编译器路径和命令行发送到 CodeView 调试信息中 734. -gno-embed-source 恢复默认行为不在 DWARF 调试段中嵌入源文本 735. -gno-inline-line-tables 不发出内联行号表。 736. --gpu-bundle-output HIP 设备编译的捆绑输出文件 737. --gpu-instrument-libvalue HIP 的仪器设备库它是一个包含 __cyg_profile_func_enter 和 __cyg_profile_func_exit 的 LLVM 位码 738. --gpu-max-threads-per-blockvalue HIP 内核启动边界的默认每个块最大线程数 739. -gpulibc 链接用于 GPU 的 LLVM C 库 740. -gsplit-dwarfvalue 设置 DWARF 裂变模式 741. -gstrict-dwarf 将 DWARF 功能限制为指定版本中定义的功能避免使用更高版本的功能。 742. -gzvalue DWARF 调试段压缩类型 743. -G size 将最多 size 字节的对象放入小数据段 (MIPS / Hexagon) 744. -g 生成源码级调试信息 afl-cc -o target target.c -gline-directives-only -gline-tables-only -gmodules -gno-codeview-command-line -gno-embed-source -gno-inline-line-tables --gpu-bundle-output --gpu-instrument-liboutput --gpu-max-threads-per-block12 -gpulibc -gsplit-dwarf54 -gstrict-dwarf -gz6 -G 78 -g 745. --help-hidden 显示隐藏选项的帮助 afl-cc --help-hidden 746. --hip-device-libvalue HIP 设备库 747. --hip-link 为 HIP 链接 clang-offload-bundler 包 748. --hip-pathvalue HIP 运行时安装路径用于查找 HIP 版本并添加 HIP 包含路径。 749. --hip-versionvalue HIP 版本号格式为 major.minor.patch 750. --hipspv-pass-plugindsopath HIP 到 SPIR-V 转换的转换插件路径。 751. --hipstdpar-interpose-alloc 将所有内存分配/释放调用替换为 hipManagedMalloc/hipFree 等效项 752. --hipstdpar-pathvalue HIP 标准并行算法加速库路径用于查找并隐式包含库头文件 753. --hipstdpar-prim-pathvalue HIP 标准并行算法加速库所需的 rocPrim 路径用于隐式包含 rocPrim 库 754. --hipstdpar-thrust-pathvalue HIP 标准并行算法加速库所需的 rocThrust 路径用于隐式包含 rocThrust 库 755. --hipstdpar 为标准并行算法启用 HIP 加速 756. -H 显示头文件包含和嵌套深度 afl-cc -o target target.c --hip-device-libhip --hip-link --hip-pathoutput --hip-versionversion --hipspv-pass-pluginoutput --hipstdpar-interpose-alloc --hipstdpar-pathoutput --hipstdpar-prim-pathoutput --hipstdpar-thrust-pathoutput --hipstdpar -H 757. -I- 将所有之前的 -I 标志限制为双引号包含并从包含路径中移除当前目录 758. -iapinotes-modules directory 将模块名称引用的目录添加到 API 注释搜索路径 759. -ibuiltininc 即使在 -ibuiltininc 之前或之后使用 -nostdinc也启用内置 #include 目录。在禁用该选项后使用 -nobuiltininc 760. -idirafter value 将目录添加到 AFTER 包含搜索路径 761. -iframeworkwithsysroot directory 将目录添加到 SYSTEM 框架搜索路径绝对路径相对于 -isysroot 762. -iframework value 将目录添加到 SYSTEM 框架搜索路径 763. -imacros file 在解析前包含文件中的宏 764. -include-pch file 包含预编译头文件 765. -include file 在解析前包含文件 766. -index-header-map 将下一个包含目录-I 或 -F设置为索引器头文件映射 767. -iprefix directory 设置 -iwithprefix/-iwithprefixbefore 前缀 768. -iquote directory 将目录添加到 QUOTE 包含搜索路径 769. -isysroot directory 设置系统根目录通常为 / 770. -isystem-after directory 将目录添加到 SYSTEM 包含搜索路径的末尾 771. -isystem directory 将目录添加到 SYSTEM 包含搜索路径 afl-cc -o target target.c -I- -iapinotes-modules output -ibuiltininc -idirafter output -iframeworkwithsysroot output -iframework output -imacros target.c -include-pch target.c -include target.c -index-header-map -iprefix output -iquote output -isysroot / -isystem-after output -isystem / 772. -ivfsoverlay value 将文件描述的虚拟文件系统覆盖在真实文件系统上 773. -iwithprefixbefore directory 将目录设置为包含前缀的包含搜索路径 774. -iwithprefix directory 将目录设置为带前缀的系统包含搜索路径 775. -iwithsysroot directory 将目录添加到系统包含搜索路径绝对路径相对于 -isysroot 776. -I directory 将目录添加到包含搜索路径列表的末尾 777. --libomptarget-amdgcn-bc-pathvalue libomptarget-amdgcn 位码库的路径 778. --libomptarget-amdgpu-bc-pathvalue libomptarget-amdgcn 位码库的路径 779. --libomptarget-nvptx-bc-pathvalue libomptarget-nvptx 位码库的路径 780. -L directory 将目录添加到库搜索路径 781. -mabiquadword-atomics 在 AIX 上启用四字原子 ABI 仅限 AIX PPC64。使用 lqarx/stqcx 指令。 782. -mabicalls 启用 SVR4 样式的位置无关代码仅限 Mips afl-cc -o target target.c -ivfsoverlay 12 -iwithprefixbefore output -iwithprefix output -iwithsysroot output -I output --libomptarget-amdgcn-bc-pathoutput --libomptarget-amdgpu-bc-pathoutput --libomptarget-nvptx-bc-pathoutput -L output -mabiquadword-atomics -mabicalls 783. -maix-shared-lib-tls-model-opt 对于随主程序加载的共享库在函数级别将本地动态访问更改为初始执行访问仅限 AIX 64 位。 784. -maix-small-local-dynamic-tls 为本地动态 TLS 变量生成更快的访问序列其中 TLS 基地址的偏移量被编码为立即数操作数仅限 AIX 64 位。此访问序列不适用于大于 32KB 的变量。 785. -maix-small-local-exec-tls 为本地执行 TLS 变量生成更快的访问序列其中 TLS 基地址的偏移量被编码为立即数操作数仅限 AIX 64 位。此访问序列不适用于大于 32KB 的变量。 786. -maix-struct-return 返回内存中的所有结构体仅限 PPC32 787. -malign-branch-boundaryvalue 指定边界大小以对齐分支 788. -malign-branchvalue 指定要对齐的分支类型 789. -malign-double 将结构体中的双精度数对齐为两个字仅限 x86 790. -maltivec 启用 AltiVec 向量初始化器语法 791. -mamdgpu-ieee 设置预期默认浮点模式寄存器中的 IEEE 位。支持异常标志收集、静默和传播信号 NaN 输入的浮点操作码符合 IEEE 754-2008 标准。此选项会更改 ABI。仅限 AMDGPU 792. -mamdgpu-precise-memory-op 启用精确内存模式仅限 AMDGPU 793. -mapx-featuresvalue 启用 APX 功能 afl-cc -o target target.c -maix-shared-lib-tls-model-opt -maix-small-local-dynamic-tls -maix-small-local-exec-tls -maix-struct-return -malign-branch-boundary10 -malign-branch10 -malign-double -maltivec -mamdgpu-ieee -mamdgpu-precise-memory-op -mapx-featurestrue 794. -mapx-inline-asm-use-gpr32 允许在 APX 的内联汇编中使用 GPR32 795. -marchvalue 获取目标可用架构列表请使用“-mcpuhelp” 796. -marm64xvalue 链接为混合 ARM64X 映像 797. -mbackchain 在 System Z 上通过反向链链接堆栈框架 798. -mbranch-protectionvalue 强制执行间接分支和函数返回的目标 799. -mbranches-within-32B-boundaries 将选定的分支fused、jcc、jmp对齐在 32 字节边界内 800. -mcabac 启用 CABAC 指令 801. -mcmse 允许使用 CMSEArmv8-M 安全扩展 802. -mcode-object-versionvalue 指定代码对象 ABI 版本。默认为 5。仅限 AMDGPU 803. -mconstructor-aliases 启用在可能的情况下将完整的构造函数和析构函数以别名形式发出。 804. -mcpuvalue 如需查看目标可用 CPU 的列表请使用“-mcpuhelp” 805. -mcrbits 控制 PowerPC 上的 CR 位跟踪功能。“-mcrbits”启用 CR 位跟踪支持是 POWER8 及以上版本以及所有其他 CPU应用优化后-O2 及以上版本的默认设置。 806. -mcrc 允许使用 CRC 指令仅限 ARM/Mips 807. -mcumode 指定 CU 波前执行模式仅限 AMDGPU afl-cc -o target target.c -mapx-inline-asm-use-gpr32 -marchtest -marm64x -mbackchain -mbranch-protectionoutput -mbranches-within-32B-boundaries -mcabac -mcmse -mcode-object-version5 -mconstructor-aliases -mcpu12 -mcrbits -mcrc -mcumode 808. -mdaz-ftz 在程序启动时全局设置浮点控制寄存器中的非正规数为零 (DAZ) 和清零 (FTZ) 位。 809. -mdefault-visibility-export-mappingvalue 默认可见性和导出之间的映射。 810. -mdoublen 强制双精度浮点数为 n 位。 811. -MD 写入包含用户和系统头文件的 depfile。 812. -meabi value 设置 EABI 类型默认值取决于三元组。 813. -membedded-data 即使常量满足 -G size 阈值 (MIPS)也应将其放置在 .rodata 段而不是 .sdata 段。 814. -menable-experimental-extensions 启用实验性的 RISC-V 扩展。 815. -mexec-modelvalue 执行模型仅限 WebAssembly 816. -mexecute-only 禁止生成对代码段的数据访问仅限 ARM 817. -mextern-sdata 如果外部定义的数据满足 -G size 阈值 (MIPS)则假定其位于小数据区中 818. -mfentry 在函数入口处插入对 fentry 的调用仅限 x86/SystemZ 819. -mfix-cmse-cve-2021-35465 解决 VLLDM 勘误表 CVE-2021-35465仅限 ARM 820. -mfix-cortex-a53-835769 解决 Cortex-A53 勘误表 835769仅限 AArch64 821. -mfix-cortex-a57-aes-1742098 解决 Cortex-A57 勘误表 1742098仅限 ARM 822. -mfix-cortex-a72-aes-1655431 解决 Cortex-A72 勘误表 1655431仅限 ARM afl-cc -o target target.c -mdaz-ftz -mdefault-visibility-export-mappingtest -mdouble1 -MD -meabi 3 -membedded-data -menable-experimental-extensions -mexec-model12 -mexecute-only -mextern-sdata -mfentry -mfix-cmse-cve-2021-35465 -mfix-cortex-a53-835769 -mfix-cortex-a57-aes-1742098 -mfix-cortex-a72-aes-1655431 823. -mforced-sw-shadow-stack 启用影子堆栈时强制使用软件影子堆栈 824. -mfp32 使用 32 位浮点寄存器仅限 MIPS 825. -mfp64 使用 64 位浮点寄存器仅限 MIPS 826. -mframe-chainvalue 选择用于发出帧记录的帧链模型仅限 Arm。 827. -mfunction-returnvalue 将返回值替换为跳转到 __x86_return_thunk 的跳转仅限 x86否则会出错 828. -MF file 将 -MMD、-MD、-MM 或 -M 的 depfile 输出写入 file 829. -mgeneral-regs-only 生成仅使用通用寄存器的代码仅限 AArch64/x86 830. -mglobal-merge 启用全局变量合并 831. -mgpopt 对已知位于小型数据段 (MIPS) 中的符号使用 GP 相对访问 832. -mguardvalue 启用或禁用控制流保护检查和保护表生成 833. -MG 将缺失的头文件添加到 depfile 834. -mharden-slsvalue 选择直线推测强化范围仅限 ARM/AArch64/X86。 arg 必须是all、none、retbr(ARM/AArch64)、blr(ARM/AArch64)、comdat(ARM/AArch64)、nocomdat(ARM/AArch64)、return(X86)、indirect-jmp(X86) 835. -mhvx-ieee-fp 启用 Hexagon HVX IEEE 浮点 836. -mhvx-lengthvalue 设置 Hexagon 向量长度 837. -mhvx-qfloat 启用 Hexagon HVX QFloat 指令 afl-cc -o target target.c -mforced-sw-shadow-stack -mfp32 -mfp64 -mframe-chaintest -mfunction-returntest -MF output -mgeneral-regs-only -mglobal-merge -mgpopt -mguardtrue -MG -mharden-slsall -mhvx-ieee-fp -mhvx-length43 -mhvx-qfloat 838. -mhvxvalue 启用 Hexagon 矢量扩展 839. -mhvx 启用 Hexagon 矢量扩展 840. -miamcu 使用 Intel MCU ABI 841. -mignore-xcoff-visibility 在 AIX 操作系统中不发出汇编代码的可见性属性或在 XCOFF 目标文件中将所有符号设置为“未指定”可见性 842. --migrate 运行迁移器 843. -mincremental-linker-compatible (integrated-as) 生成可与增量链接器一起使用的目标文件 844. -mindirect-branch-cs-prefix 为调用添加 cs 前缀并为间接 thunk 添加 jmp 845. -mindirect-jumpvalue 更改间接跳转指令以抑制推测 846. -mios-version-minvalue 设置 iOS 部署目标 847. -MJ value 为每个输入写入编译数据库条目 848. -mlasx 启用龙芯高级 SIMD 扩展 (LASX)。 849. -mlink-builtin-bitcode-postopt 在优化流水线后链接内置位码 850. -mllvmarg -mllvm 的别名 851. -mllvm value 用于转发到 LLVM 选项处理的附加参数 852. -mlocal-sdata 将 -G 行为扩展为对象本地数据 (MIPS) 853. -mlong-calls 生成具有扩展寻址能力的分支通常通过间接跳转实现。 afl-cc -o target target.c -mhvxtest -mhvx -miamcu -mignore-xcoff-visibility --migrate -mincremental-linker-compatible -mindirect-branch-cs-prefix -mindirect-jump1 -mios-version-min5 -MJ test -mlasx -mlink-builtin-bitcode-postopt -mllvmarg -mllvm test -mlocal-sdata -mlong-calls 854. -mlong-double-128 强制长双精度数为 128 位 855. -mlong-double-64 强制长双精度数为 64 位 856. -mlong-double-80 强制长双精度数为 80 位填充至 128 位用于存储 857. -mlr-for-calls-only 不将 LR 寄存器分配用于通用用途仅用于调用。仅限 AArch64 858. -mlsx 启用龙芯 SIMD 扩展 (LSX)。 859. -mlvi-cfi 仅启用负载值注入 (LVI) 的控制流缓解措施 860. -mlvi-hardening 启用负载值注入 (LVI) 的所有缓解措施 861. -mmacos-version-minvalue 设置 macOS 部署目标 862. -mmadd4 启用 4 操作数 madd.s、madd.d 及相关指令的生成。 863. -mmark-bti-property 将带有 BTI 的 .note.gnu.property 添加到汇编文件仅限 AArch64 864. -MMD 编写包含用户头文件的 depfile 865. -mmemops 启用 memop 指令的生成 866. -mmlir value 转发给 MLIR 选项处理的附加参数 867. -mms-bitfields 设置默认结构布局以兼容 Microsoft 编译器标准 868. -mmsa 启用 MSA ASE仅限 MIPS 869. -mmt 启用 MT ASE仅限 MIPS 870. -MM 与 -MMD 类似但也隐含 -E 并默认写入标准输出 afl-cc -o target target.c -mlong-double-128 -mlong-double-64 -mlong-double-80 -mlr-for-calls-only -mlsx -mlvi-cfi -mlvi-hardening -mmacos-version-mintest -mmadd4 -mmark-bti-property -MMD -mmemops -mmlir output -mms-bitfields -mmsa -mmt -MM 由于篇幅有限请看下一章教程
http://www.hkea.cn/news/14272639/

相关文章:

  • 微教育云平台网站建设软件开发软件开发网站
  • 天门市网站建设seo上海的设计网站有哪些内容
  • a5站长网wordpress只启用cdn
  • 丽江网站开发找千素网建设路小学家校互动平台网站
  • 嘉祥网站建设公司百度官网网站
  • 朝阳港网站建设方案wordpress 评分
  • 搭建网站是seo的入门中型网站 收益
  • 做设计需要知道的几个网站wordpress 错位
  • 做网页的软件做网站在哪里可以建网站
  • 游戏开发平台seo网页优化培训
  • 最牛网站设计公司东莞万江网站建设公司
  • 保健品 东莞网站建设wordpress 验证账号
  • 吉林省绥中县城乡建设局网站建设网站团队
  • 设计素材网站排行榜北京建设监理协会官方网站
  • 深圳网站建设raygf动漫制作专业烧钱吗
  • 青岛正规品牌网站制作策划东莞公司网站建设公司哪家好
  • 河南建设银行官方网站免费行情软件网站下载大全安全吗
  • android 做分享的网站网站建设2017主流代码语言
  • 网站建设与运营实践考试西安哪里有做网站的
  • 上海知名建站公司赣州酒店网站设计
  • 组件化网站建设石家庄进入应急状态
  • 网站开头flash怎么做如何建立国外网站
  • 网站建设公司创业网站架构优化 amp
  • 惠州网站建设熊掌号网站建设wuliankj
  • 什么是软件的开发平台百度地图关键词排名优化
  • 昆山商城网站建设乐清市亿新软件科技有限公司
  • 企业如何做好网站运营管理荣盛科技网站建设
  • 做爰直播网站天津it外包公司
  • 官方网站平台下载软件百度竞价推广方法
  • 河南省建设厅门户网站wordpress 启动live2d