CPF-KMP-CMP · 2.2.21-1.0.0
编译配置项
本文档面向 App 开发人员。共 251 条(可通过 Gradle DSL 或 freeCompilerArgs / Native 编译器参数配置;Gradle DSL 10 · 编译器参数 241;同源入口已合并进功能条)
| KN-BINARY-MEMORYMODEL | 编译器参数(Native) | 内存模型Xbinary=memoryModel | 内存、GC 与并发模型 | 极高 · 决定产物/平台 | strict | 场景可配 | CPF-KMP-CMP社区有改 | 选择内存模型(影响并发与对象语义) |
| APP-FREECOMPILERARGS | Gradle DSL | freeCompilerArgs | 工具链、环境与参数透传 | 极高 · 决定产物/平台 | 未设置 | 开发必用 | 上游原样 | Gradle 向编译器透传额外参数的入口(如 -g、-opt、-Xbinary=…) |
| APP-MODULENAME | Gradle DSL | 模块名moduleName | 模块、KLIB 与依赖 | 极高 · 决定产物/平台 | 未设置 | 场景可配 | 上游原样 | 指定编译模块名;Native 下也可用作 ObjC 导出名前缀相关配置 |
| KN-ENTRY | 编译器参数(Native) | entry | 产物类型、链接与入口 | 极高 · 决定产物/平台 | 未设置 | 场景可配 | 上游原样 | 指定限定名形式的入口点 |
| KN-OUTPUT | 编译器参数(Native) | output | 产物类型、链接与入口 | 极高 · 决定产物/平台 | 未设置 | 场景可配 | 上游原样 | 指定输出文件/产物名称 |
| KN-PRODUCE | 编译器参数(Native) | produce | 产物类型、链接与入口 | 极高 · 决定产物/平台 | 未设置 | 场景可配 | 上游原样 | 指定产物类型(可执行文件、框架、库等) |
| KN-TARGET | 编译器参数(Native) | target | 产物类型、链接与入口 | 极高 · 决定产物/平台 | 未设置 | 场景可配 | 上游原样 | 指定硬件/平台编译目标 |
| KN-BINARY-ENABLEGCFASTPATH | 编译器参数(Native) | Xbinary=enableGcFastpath | 内存、GC 与并发模型 | 高 · 影响大 | 视情况 | 场景可配 | CPF-KMP-CMP社区新增 | 启用 GC safepoint 快路径 |
| KN-BINARY-ENABLESTACKMAP | 编译器参数(Native) | Xbinary=enableStackmap | 调试、符号化与运行时诊断 | 高 · 影响大 | 视情况 | 场景可配 | CPF-KMP-CMP社区新增 | 启用精确 stackmap 代码生成,供 CMC/CRT 等精确根扫描使用 |
| KN-BINARY-GC | 编译器参数(Native) | 垃圾回收器Xbinary=gc | 内存、GC 与并发模型 | 高 · 影响大 | cms | 场景可配 | CPF-KMP-CMP社区有改 | 选择 Kotlin/Native 垃圾回收器 |
| KN-BINARY-RUNTIMESWITCHMEMORYMANAGER | 编译器参数(Native) | Xbinary=runtimeSwitchMemoryManager | 内存、GC 与并发模型 | 高 · 影响大 | 默认关 | 场景可配 | CPF-KMP-CMP社区新增 | 允许在运行时切换内存管理器实现 |
| KN-BINARY-SANITIZER | 编译器参数(Native) | Xbinary=sanitizer | 调试、符号化与运行时诊断 | 高 · 影响大 | 默认关 | 场景可配 | CPF-KMP-CMP社区有改 | 启用 Address/Thread 等 sanitizer,放大内存类错误以便排障 |
| KN-XALLOCATOR | 编译器参数(Native) | Xallocator | 内存、GC 与并发模型 | 高 · 影响大 | 视情况 | 场景可配 | CPF-KMP-CMP社区有改 | 选择运行时分配器 |
| KN-XNATIVE-DEBUGINFO-MINIFY | 编译器参数(Native) | Xnative-debuginfo-minify | 调试、符号化与运行时诊断 | 高 · 影响大 | 视情况 | 场景可配 | CPF-KMP-CMP社区新增 | 删除未被引用的调试信息并压缩调试信息,控制 Debug 产物体积 |
| KN-BINARY-CODESIZEOPT | 编译器参数(Native) | Xbinary=codesizeOpt | 多 so 拆分与 runtime 独立发布 | 高 · 影响大 | 默认开 | 流水线专用 | CPF-KMP-CMP社区新增 | 启用跨 klib 引用分析以削减导出符号,利于减小产物体积(拆分编译场景) |
| KN-BINARY-EMITRUNTIME | 编译器参数(Native) | Xbinary=emitRuntime | 多 so 拆分与 runtime 独立发布 | 高 · 影响大 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 是否把 Kotlin/Native runtime 编入当前产物 |
| KN-BINARY-EMITSTDLIB | 编译器参数(Native) | Xbinary=emitStdlib | 多 so 拆分与 runtime 独立发布 | 高 · 影响大 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 是否把标准库编入当前产物 |
| KN-BINARY-SPLITBCFILE | 编译器参数(Native) | Xbinary=splitBCfile | 多 so 拆分与 runtime 独立发布 | 高 · 影响大 | 视情况 | 流水线专用 | CPF-KMP-CMP社区新增 | 按给定大小拆分 bitcode 文件,便于并行/分片处理 |
| KN-G | 编译器参数(Native) | g | 调试、符号化与运行时诊断 | 高 · 影响大 | 视情况 | 开发必用 | 上游原样 | 生成调试信息,便于断点与符号化 |
| APP-ALLWARNINGSASERRORS | Gradle DSL | 警告视为错误allWarningsAsErrors | 警告、错误与编译日志 | 高 · 影响大 | 默认关 | 场景可配 | 上游原样 | 存在警告时按错误失败(对齐 -Werror),适合 CI 门禁 |
| APP-APIVERSION | Gradle DSL | API 版本apiVersion | 语言能力与兼容 | 高 · 影响大 | 视情况 | 场景可配 | 上游原样 | 限制只能使用指定版本及更早的 Kotlin 标准库 API |
| APP-LANGUAGEVERSION | Gradle DSL | 语言版本languageVersion | 语言能力与兼容 | 高 · 影响大 | 视情况 | 场景可配 | 上游原样 | 按指定 Kotlin 语言版本提供源码兼容(语法与语言语义) |
| APP-PROGRESSIVEMODE | Gradle DSL | Progressive 模式progressiveMode | 语言能力与兼容 | 高 · 影响大 | 默认关 | 场景可配 | 上游原样 | 启用渐进模式:不稳定代码相关的废弃与修复立即生效,不等待迁移周期 |
| KN-BINARY-SMALLBINARY | 编译器参数(Native) | Xbinary=smallBinary | 包体与运行性能 | 高 · 影响大 | 未设置 | 场景可配 | 上游原样 | 偏向生成更小的二进制(可能影响性能) |
| KN-BINARY-STRIPDEBUGINFOFROMNATIVELIBS | 编译器参数(Native) | Xbinary=stripDebugInfoFromNativeLibs | 包体与运行性能 | 高 · 影响大 | 未设置 | 场景可配 | 上游原样 | 从原生依赖库中剥离调试信息以减小体积 |
| KN-LINKER-OPTION | 编译器参数(Native) | linker-option | 产物类型、链接与入口 | 高 · 影响大 | 未设置 | 场景可配 | 上游原样 | 向链接器传递单个参数 |
| KN-LINKER-OPTIONS | 编译器参数(Native) | linker-options | 产物类型、链接与入口 | 高 · 影响大 | 未设置 | 场景可配 | 上游原样 | 向链接器传递参数 |
| KN-OPT | 编译器参数(Native) | opt | 包体与运行性能 | 高 · 影响大 | 视情况 | 场景可配 | 上游原样 | 启用编译期优化,通常用于发布/性能构建 |
| KN-BINARY-FORCEEXPORTINTERNALSYMBOLNAMES | 编译器参数(Native) | Xbinary=forceExportInternalSymbolNames | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | CPF-KMP-CMP社区新增 | 强制导出所列内部符号名(调试/互操作高级用法) |
| KN-BINARY-MODULEINCLUDES | 编译器参数(Native) | Xbinary=moduleIncludes | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 按模块配置额外包含的内容 |
| KN-BINARY-OUTPUTMODULE | 编译器参数(Native) | Xbinary=outputModule | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 指定输出模块名 |
| KN-BINARY-RUNTIMENAME | 编译器参数(Native) | Xbinary=runtimeName | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 指定产物中 runtime 的名称 |
| KN-BINARY-STDLIBNAME | 编译器参数(Native) | Xbinary=stdlibName | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 流水线专用 | CPF-KMP-CMP社区新增 | 指定产物中标准库的名称 |
| KN-BINARY-EMITRUNTIMEOPT | 编译器参数(Native) | Xbinary=emitRuntimeOpt | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 不推荐 | CPF-KMP-CMP社区新增 | 控制 runtime 以何种优化/发射模式打入产物 |
| KN-BINARY-LLVMSPLITPATH | 编译器参数(Native) | Xbinary=llvmSplitPath | 工具链、环境与参数透传 | 中 · 场景相关 | 视情况 | 不推荐 | CPF-KMP-CMP社区新增 | 指定 LLVM split 相关工具路径 |
| KN-BINARY-MODULEINCLUDEONLY | 编译器参数(Native) | Xbinary=moduleIncludeOnly | 多 so 拆分与 runtime 独立发布 | 中 · 场景相关 | 未设置 | 不推荐 | CPF-KMP-CMP社区新增 | 仅包含指定模块,限制链接/导出范围 |
| APP-EXTRAWARNINGS | Gradle DSL | 额外警告extraWarnings | 警告、错误与编译日志 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用 K2 额外检查(对齐 -Wextra),发现更多潜在问题 |
| APP-OPTIN | Gradle DSL | Opt-inoptIn | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用带 Opt-in 标记的 API(传入要求注解的全限定名列表) |
| APP-SUPPRESSWARNINGS | Gradle DSL | 抑制全部警告suppressWarnings | 警告、错误与编译日志 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 抑制编译警告输出(对齐 -nowarn) |
| KN-BINARY-ANDROIDPROGRAMTYPE | 编译器参数(Native) | Xbinary=androidProgramType | 产物类型、链接与入口 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 指定 Android 程序类型相关二进制行为 |
| KN-BINARY-APPSTATETRACKING | 编译器参数(Native) | Xbinary=appStateTracking | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用应用前后台状态跟踪 |
| KN-BINARY-AUXGCTHREADS | 编译器参数(Native) | Xbinary=auxGCThreads | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置辅助 GC 线程数量 |
| KN-BINARY-BUNDLEID | 编译器参数(Native) | Bundle IDXbinary=bundleId | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 写入产物 Bundle Identifier(Apple 生态) |
| KN-BINARY-BUNDLESHORTVERSIONSTRING | 编译器参数(Native) | Xbinary=bundleShortVersionString | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 写入 Bundle 短版本号 |
| KN-BINARY-BUNDLEVERSION | 编译器参数(Native) | Xbinary=bundleVersion | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 写入 Bundle 版本号 |
| KN-BINARY-CHECKSTATEATEXTERNALCALLS | 编译器参数(Native) | 外部调用线程状态检查Xbinary=checkStateAtExternalCalls | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 在可能较慢的外部调用处检查线程状态,避免错误线程状态调用 |
| KN-BINARY-CINTERFACEMODE | 编译器参数(Native) | Xbinary=cInterfaceMode | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制 C 接口头文件生成模式 |
| KN-BINARY-COMPILEBITCODEWITHXCODELLVM | 编译器参数(Native) | Xbinary=compileBitcodeWithXcodeLlvm | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 使用 Xcode 自带 LLVM 编译 bitcode |
| KN-BINARY-CONCURRENTMARKMAXITERATIONS | 编译器参数(Native) | Xbinary=concurrentMarkMaxIterations | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 限制并发标记最大迭代次数 |
| KN-BINARY-CONCURRENTWEAKSWEEP | 编译器参数(Native) | Xbinary=concurrentWeakSweep | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用并发弱引用清扫 |
| KN-BINARY-CORESYMBOLICATIONIMAGELISTTYPE | 编译器参数(Native) | Xbinary=coreSymbolicationImageListType | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 配置 Core Symbolication 镜像列表类型(Apple 平台符号化) |
| KN-BINARY-DEBUGCOMPILATIONDIR | 编译器参数(Native) | Xbinary=debugCompilationDir | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 指定调试信息中的编译目录映射 |
| KN-BINARY-DISABLEMMAP | 编译器参数(Native) | Xbinary=disableMmap | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 禁用 mmap 相关分配路径 |
| KN-BINARY-ENABLEDEBUGTRANSPARENTSTEPPING | 编译器参数(Native) | Xbinary=enableDebugTransparentStepping | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 改善调试器对内联等场景的步进体验 |
| KN-BINARY-ENABLESAFEPOINTSIGNPOSTS | 编译器参数(Native) | Xbinary=enableSafepointSignposts | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用 safepoint 相关 signpost 追踪 |
| KN-BINARY-FIXEDBLOCKPAGESIZE | 编译器参数(Native) | Xbinary=fixedBlockPageSize | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置固定块分配页大小 |
| KN-BINARY-FORCENATIVETHREADSTATEFORFUNCTIONS | 编译器参数(Native) | Xbinary=forceNativeThreadStateForFunctions | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 强制所列函数在 native 线程状态执行 |
| KN-BINARY-FREEZING | 编译器参数(Native) | Xbinary=freezing | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制对象冻结相关行为(与内存模型配套) |
| KN-BINARY-GCMARKSINGLETHREADED | 编译器参数(Native) | Xbinary=gcMarkSingleThreaded | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 强制 GC 标记阶段单线程执行(大堆上可能拉长停顿) |
| KN-BINARY-GCMUTATORSCOOPERATE | 编译器参数(Native) | Xbinary=gcMutatorsCooperate | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 标记阶段是否让应用线程(mutator)协助 GC |
| KN-BINARY-GCSCHEDULERTYPE | 编译器参数(Native) | Xbinary=gcSchedulerType | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 选择 GC 调度策略(与当前 GC 实现配套) |
| KN-BINARY-GENERICSAFECASTS | 编译器参数(Native) | Xbinary=genericSafeCasts | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 对泛型相关转型使用更安全的检查 |
| KN-BINARY-GLOBALDATALAZYINIT | 编译器参数(Native) | Xbinary=globalDataLazyInit | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 全局数据延迟初始化 |
| KN-BINARY-LATIN1STRINGS | 编译器参数(Native) | Xbinary=latin1Strings | 包体与运行性能 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 对 Latin-1 字符串使用更紧凑表示 |
| KN-BINARY-LINKRUNTIME | 编译器参数(Native) | Xbinary=linkRuntime | 产物类型、链接与入口 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制 runtime 的链接策略 |
| KN-BINARY-MMAPTAG | 编译器参数(Native) | Xbinary=mmapTag | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置 mmap 标签(便于诊断) |
| KN-BINARY-OBJCDISPOSEONMAIN | 编译器参数(Native) | Xbinary=objcDisposeOnMain | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 在主线程执行 ObjC 对象释放 |
| KN-BINARY-OBJCDISPOSEWITHRUNLOOP | 编译器参数(Native) | Xbinary=objcDisposeWithRunLoop | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 结合 RunLoop 安排 ObjC 对象释放 |
| KN-BINARY-OBJCEXPORTBLOCKEXPLICITPARAMETERNAMES | 编译器参数(Native) | Xbinary=objcExportBlockExplicitParameterNames | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | ObjC block 导出时保留显式参数名 |
| KN-BINARY-OBJCEXPORTDISABLESWIFTMEMBERNAMEMANGLING | 编译器参数(Native) | Xbinary=objcExportDisableSwiftMemberNameMangling | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 禁用 ObjC 导出时的 Swift 成员名修饰 |
| KN-BINARY-OBJCEXPORTENTRYPOINTSPATH | 编译器参数(Native) | Xbinary=objcExportEntryPointsPath | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 指定 ObjC 导出入点列表文件路径 |
| KN-BINARY-OBJCEXPORTERRORONNAMECOLLISIONS | 编译器参数(Native) | Xbinary=objcExportErrorOnNameCollisions | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 遇到 ObjC 导出名冲突时报错 |
| KN-BINARY-OBJCEXPORTEXPLICITMETHODFAMILY | 编译器参数(Native) | Xbinary=objcExportExplicitMethodFamily | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 为 ObjC 导出显式标注方法族 |
| KN-BINARY-OBJCEXPORTIGNOREINTERFACEMETHODCOLLISIONS | 编译器参数(Native) | Xbinary=objcExportIgnoreInterfaceMethodCollisions | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 忽略接口方法名冲突(ObjC 导出) |
| KN-BINARY-OBJCEXPORTSUSPENDFUNCTIONLAUNCHTHREADRESTRICTION | 编译器参数(Native) | Xbinary=objcExportSuspendFunctionLaunchThreadRestriction | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 限制 ObjC 导出挂起函数的启动线程 |
| KN-BINARY-PACKFIELDS | 编译器参数(Native) | Xbinary=packFields | 包体与运行性能 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 打包对象字段布局以节省空间 |
| KN-BINARY-PAGEDALLOCATOR | 编译器参数(Native) | Xbinary=pagedAllocator | 内存、GC 与并发模型 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用分页分配器 |
| KN-BINARY-PRECODEGENINLINETHRESHOLD | 编译器参数(Native) | Xbinary=preCodegenInlineThreshold | 包体与运行性能 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 代码生成前内联阈值 |
| KN-BINARY-RUNTIMEASSERTIONSMODE | 编译器参数(Native) | Xbinary=runtimeAssertionsMode | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制运行时断言的检查与失败处理模式 |
| KN-BINARY-SOURCEINFOTYPE | 编译器参数(Native) | Xbinary=sourceInfoType | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 选择源码位置信息写入调试信息的方式 |
| KN-BINARY-STACKPROTECTOR | 编译器参数(Native) | Xbinary=stackProtector | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用栈保护(stack protector)模式 |
| KN-BINARY-SWIFTEXPORT | 编译器参数(Native) | Xbinary=swiftExport | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用/配置 Swift 导出相关行为 |
| KN-BINARY-UNITSUSPENDFUNCTIONOBJCEXPORT | 编译器参数(Native) | Xbinary=unitSuspendFunctionObjCExport | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制 Unit 挂起函数导出到 Objective-C 的方式 |
| KN-ENABLE-ASSERTIONS | 编译器参数(Native) | enable-assertions | 调试、符号化与运行时诊断 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 在生成代码中启用运行时断言 |
| KN-FRIEND-MODULES | 编译器参数(Native) | friend-modules | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 指定 friend 模块路径 |
| KN-GENERATE-NO-EXIT-TEST-RUNNER | 编译器参数(Native) | generate-no-exit-test-runner | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 生成不强制退出的单元测试运行器 |
| KN-GENERATE-TEST-RUNNER | 编译器参数(Native) | generate-test-runner | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 生成单元测试运行器 |
| KN-GENERATE-WORKER-TEST-RUNNER | 编译器参数(Native) | generate-worker-test-runner | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 生成 worker 单元测试运行器 |
| KN-INCLUDE-BINARY | 编译器参数(Native) | include-binary | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将外部二进制打包进 klib |
| KN-KOTLIN-HOME | 编译器参数(Native) | kotlin-home | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | Kotlin 编译器 home 目录路径,用于发现运行时库 |
| KN-LIBRARY | 编译器参数(Native) | library | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 链接指定库 |
| KN-LIBRARY-VERSION | 编译器参数(Native) | library-version | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 库版本(可能已弃用) |
| KN-MANIFEST | 编译器参数(Native) | manifest | 产物类型、链接与入口 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 提供 manifest 附加文件 |
| KN-NATIVE-LIBRARY | 编译器参数(Native) | native-library | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 纳入给定的原生 bitcode 库 |
| KN-NO-DEFAULT-LIBS | 编译器参数(Native) | no-default-libs | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 不自动链接 dist/klib 中的库 |
| KN-NO-ENDORSED-LIBS | 编译器参数(Native) | no-endorsed-libs | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 不自动链接 dist 中的 endorsed 库(可能已弃用) |
| KN-NOMAIN | 编译器参数(Native) | nomain | 产物类型、链接与入口 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 假定 main 入口由外部库提供 |
| KN-NOPACK | 编译器参数(Native) | nopack | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 不把库打包成 klib |
| KN-NOSTDLIB | 编译器参数(Native) | nostdlib | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 不自动链接标准库 |
| KN-P | 编译器参数(Native) | P | 插件、脚本与测试运行器 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 向插件传递选项 |
| KN-SCRIPT | 编译器参数(Native) | script | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 执行给定的 Kotlin 脚本(*.kts) |
| KN-XADD-CACHE | 编译器参数(Native) | Xadd-cache | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将指定库加入缓存 |
| KN-XADD-LIGHT-DEBUG | 编译器参数(Native) | 轻量调试信息Xadd-light-debug | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 为优化构建附加轻量调试信息 |
| KN-XALLOW-ANY-SCRIPTS-IN-SOURCE-ROOTS | 编译器参数(Native) | Xallow-any-scripts-in-source-roots | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许脚本与普通 Kotlin 源一并编译 |
| KN-XALLOW-CONDITION-IMPLIES-RETURNS-CONTRACTS | 编译器参数(Native) | Xallow-condition-implies-returns-contracts | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许有限条件返回后置条件的 contract |
| KN-XALLOW-CONTRACTS-ON-MORE-FUNCTIONS | 编译器参数(Native) | Xallow-contracts-on-more-functions | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许在部分运算符/访问器上使用 contract |
| KN-XALLOW-HOLDSIN-CONTRACT | 编译器参数(Native) | Xallow-holdsin-contract | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许描述 lambda 内条件成立的 contract |
| KN-XALLOW-KOTLIN-PACKAGE | 编译器参数(Native) | Xallow-kotlin-package | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许编译 kotlin 包内代码,并可放宽对 kotlin.stdlib 的要求 |
| KN-XALLOW-REIFIED-TYPE-IN-CATCH | 编译器参数(Native) | Xallow-reified-type-in-catch | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许 catch 参数使用具体化类型 |
| KN-XANNOTATION-DEFAULT-TARGET | 编译器参数(Native) | Xannotation-default-target | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 更改构造属性的默认注解目标 |
| KN-XANNOTATION-TARGET-ALL | 编译器参数(Native) | Xannotation-target-all | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用 @all: 注解使用点实验支持 |
| KN-XAUTO-CACHE-DIR | 编译器参数(Native) | Xauto-cache-dir | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 自动可缓存依赖的缓存输出目录 |
| KN-XAUTO-CACHE-FROM | 编译器参数(Native) | Xauto-cache-from | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 自动缓存依赖的根目录 |
| KN-XBACKEND-THREADS | 编译器参数(Native) | Xbackend-threads | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 按文件并行代码生成(N 个线程) |
| KN-XBINARY | 编译器参数(Native) | Xbinary | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置 -Xbinary 二进制选项(name=value) |
| KN-XCACHE-DIRECTORY | 编译器参数(Native) | Xcache-directory | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 缓存目录路径 |
| KN-XCACHED-LIBRARY | 编译器参数(Native) | Xcached-library | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 库路径与其缓存路径(逗号分隔) |
| KN-XCHECK-DEPENDENCIES | 编译器参数(Native) | Xcheck-dependencies | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 检查依赖并下载缺失项 |
| KN-XCHECK-PHASE-CONDITIONS | 编译器参数(Native) | Xcheck-phase-conditions | 编译器内部排障 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 检查 IR lowering 阶段的前后条件 |
| KN-XCOMMON-SOURCES | 编译器参数(Native) | Xcommon-sources | 多平台工程与源集 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 与本模块一并编译的 common 源集 |
| KN-XCOMPILE-FROM-BITCODE | 编译器参数(Native) | Xcompile-from-bitcode | 产物类型、链接与入口 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 从给定 bitcode 文件继续编译 |
| KN-XCOMPILER-PLUGIN | 编译器参数(Native) | Xcompiler-plugin | 插件、脚本与测试运行器 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 注册编译器插件 |
| KN-XCONSISTENT-DATA-CLASS-COPY-VISIBILITY | 编译器参数(Native) | Xconsistent-data-class-copy-visibility | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 效果等同于为 data class 应用 @ConsistentCopyVisibility |
| KN-XCONTEXT-PARAMETERS | 编译器参数(Native) | Xcontext-parameters | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性 context parameters |
| KN-XCONTEXT-RECEIVERS | 编译器参数(Native) | Xcontext-receivers | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性 context receivers |
| KN-XCONTEXT-SENSITIVE-RESOLUTION | 编译器参数(Native) | Xcontext-sensitive-resolution | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性上下文敏感解析 |
| KN-XDATA-FLOW-BASED-EXHAUSTIVENESS | 编译器参数(Native) | Xdata-flow-based-exhaustiveness | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用基于数据流的 when 穷尽性改进 |
| KN-XDEBUG-INFO-VERSION | 编译器参数(Native) | Xdebug-info-version | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 生成指定版本的调试信息 |
| KN-XDEBUG-PREFIX-MAP | 编译器参数(Native) | Xdebug-prefix-map | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 重映射调试信息中的源码目录路径 |
| KN-XDESTROY-RUNTIME-MODE | 编译器参数(Native) | Xdestroy-runtime-mode | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 控制 runtime 销毁时机 |
| KN-XDIRECT-JAVA-ACTUALIZATION | 编译器参数(Native) | Xdirect-java-actualization | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性 Java actualization |
| KN-XDISABLE-DEFAULT-SCRIPTING-PLUGIN | 编译器参数(Native) | Xdisable-default-scripting-plugin | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 默认不启用脚本插件 |
| KN-XDISABLE-PHASES | 编译器参数(Native) | Xdisable-phases | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 禁用指定后端阶段 |
| KN-XDONT-WARN-ON-ERROR-SUPPRESSION | 编译器参数(Native) | Xdont-warn-on-error-suppression | 警告、错误与编译日志 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 错误被抑制时不报告警告(主要影响 K2) |
| KN-XEMIT-LAZY-OBJC-HEADER | 编译器参数(Native) | Xemit-lazy-objc-header | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 向给定路径生成 lazy Objective-C header,用于 framework 导出相关的调试或校验 |
| KN-XENABLE-INCREMENTAL-COMPILATION | 编译器参数(Native) | Xenable-incremental-compilation | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用增量编译 |
| KN-XEXPECT-ACTUAL-CLASSES | 编译器参数(Native) | Xexpect-actual-classes | 多平台工程与源集 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 与 expect/actual 类相关的编译行为开关 |
| KN-XEXPLICIT-API | 编译器参数(Native) | Xexplicit-api | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 强制the compiler to report errors on all public AP |
| KN-XEXPORT-KDOC | 编译器参数(Native) | Xexport-kdoc | ObjC / Swift / C 互操作 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 把 KDoc 导出到 framework 头文件 |
| KN-XEXPORT-LIBRARY | 编译器参数(Native) | Xexport-library | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 纳入 framework API 的库 |
| KN-XEXTERNAL-DEPENDENCIES | 编译器参数(Native) | Xexternal-dependencies | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 外部依赖描述文件路径 |
| KN-XFAKE-OVERRIDE-VALIDATOR | 编译器参数(Native) | Xfake-override-validator | 编译器内部排障 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用 IR fake override 校验 |
| KN-XFILE-TO-CACHE | 编译器参数(Native) | Xfile-to-cache | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 要缓存的文件路径 |
| KN-XFRAGMENT-DEPENDENCY | 编译器参数(Native) | Xfragment-dependency | 多平台工程与源集 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 高级编译选项 -Xfragment-dependency,多为实验向 |
| KN-XFRAGMENT-REFINES | 编译器参数(Native) | Xfragment-refines | 多平台工程与源集 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 高级编译选项 -Xfragment-refines,多为实验向 |
| KN-XFRAGMENT-SOURCES | 编译器参数(Native) | Xfragment-sources | 多平台工程与源集 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 向指定 fragment 添加源码 |
| KN-XFRAGMENTS | 编译器参数(Native) | Xfragments | 多平台工程与源集 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 声明多平台编译的全部 fragment |
| KN-XFRAMEWORK-IMPORT-HEADER | 编译器参数(Native) | Xframework-import-header | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 向 framework 头文件追加 import |
| KN-XG-GENERATE-DEBUG-TRAMPOLINE | 编译器参数(Native) | Xg-generate-debug-trampoline | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 生成 trampoline 以提升调试断点解析精度 |
| KN-XHEADER-KLIB-PATH | 编译器参数(Native) | Xheader-klib-path | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将仅含公开 ABI 的 klib 保存到指定路径 |
| KN-XIC-CACHE-DIR | 编译器参数(Native) | Xic-cache-dir | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 增量编译缓存目录 |
| KN-XIGNORE-CONST-OPTIMIZATION-ERRORS | 编译器参数(Native) | Xignore-const-optimization-errors | 包体与运行性能 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 常量表达式优化时忽略编译异常 |
| KN-XINCLUDE | 编译器参数(Native) | Xinclude | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将中间库按源文件同等方式处理 |
| KN-XINLINE-CLASSES | 编译器参数(Native) | Xinline-classes | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性inline classes |
| KN-XINTELLIJ-PLUGIN-ROOT | 编译器参数(Native) | Xintellij-plugin-root | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 路径:'kotlin-compiler.jar' or the directory where t |
| KN-XIR-PROPERTY-LAZY-INITIALIZATION | 编译器参数(Native) | Xir-property-lazy-initialization | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 按文件延迟初始化顶层属性 |
| KN-XKLIB-ABI-VERSION | 编译器参数(Native) | Xklib-abi-version | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 指定写入 klib 的自定义 ABI 版本(测试向) |
| KN-XKLIB-DUPLICATED-UNIQUE-NAME-STRATEGY | 编译器参数(Native) | Xklib-duplicated-unique-name-strategy | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 多个 klib 同 unique_name 时的依赖使用策略 |
| KN-XKLIB-ENABLE-SIGNATURE-CLASH-CHECKS | 编译器参数(Native) | Xklib-enable-signature-clash-checks | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认开 | 场景可配 | 上游原样 | 启用签名唯一性检查 |
| KN-XKLIB-IR-INLINER | 编译器参数(Native) | Xklib-ir-inliner | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 在 klib 序列化前启用实验性 IR Inliner |
| KN-XKLIB-NORMALIZE-ABSOLUTE-PATH | 编译器参数(Native) | Xklib-normalize-absolute-path | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 规范化 klib 中的绝对路径 |
| KN-XKLIB-RELATIVE-PATH-BASE | 编译器参数(Native) | Xklib-relative-path-base | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 提供基准路径以计算 klib 中的相对源路径 |
| KN-XKONAN-DATA-DIR | 编译器参数(Native) | Xkonan-data-dir | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 自定义 konan 发行版目录 |
| KN-XLAZY-IR-FOR-CACHES | 编译器参数(Native) | Xlazy-ir-for-caches | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 对缓存库使用 lazy IR |
| KN-XLIST-PHASES | 编译器参数(Native) | Xlist-phases | 编译器内部排障 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 列出后端阶段 |
| KN-XLLVM-LTO-PASSES | 编译器参数(Native) | Xllvm-lto-passes | 包体与运行性能 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 自定义 LTO 优化 LLVM pass 集合 |
| KN-XLLVM-MODULE-PASSES | 编译器参数(Native) | Xllvm-module-passes | 包体与运行性能 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 自定义模块优化 LLVM pass 集合 |
| KN-XLLVM-VARIANT | 编译器参数(Native) | Xllvm-variant | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 选择编译所用的 LLVM 发行版 |
| KN-XMAKE-PER-FILE-CACHE | 编译器参数(Native) | Xmake-per-file-cache | 构建缓存与增量 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 强制生成按文件缓存 |
| KN-XMANIFEST-NATIVE-TARGETS | 编译器参数(Native) | Xmanifest-native-targets | 产物类型、链接与入口 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 写入 manifest 的 native_targets 列表 |
| KN-XMETADATA-KLIB | 编译器参数(Native) | Xmetadata-klib | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 仅生成包含声明元数据的 klib |
| KN-XMETADATA-VERSION | 编译器参数(Native) | Xmetadata-version | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 修改生成二进制的元数据版本 |
| KN-XMULTI-DOLLAR-INTERPOLATION | 编译器参数(Native) | Xmulti-dollar-interpolation | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性多 $ 字符串插值 |
| KN-XMULTI-PLATFORM | 编译器参数(Native) | Xmulti-platform | 多平台工程与源集 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用多平台项目语言支持 |
| KN-XNESTED-TYPE-ALIASES | 编译器参数(Native) | Xnested-type-aliases | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用嵌套类型别名实验支持 |
| KN-XNEW-INFERENCE | 编译器参数(Native) | Xnew-inference | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用the new experimental generic type inference al |
| KN-XNO-CHECK-ACTUAL | 编译器参数(Native) | Xno-check-actual | 多平台工程与源集 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 不要check for the presence of the 'actual' modifie |
| KN-XNO-INLINE | 编译器参数(Native) | Xno-inline | 包体与运行性能 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 禁用方法内联 |
| KN-XNO-OBJC-GENERICS | 编译器参数(Native) | Xno-objc-generics | ObjC / Swift / C 互操作 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 在 framework 头文件中禁用泛型支持 |
| KN-XNON-LOCAL-BREAK-CONTINUE | 编译器参数(Native) | Xnon-local-break-continue | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性非局部 break/continue |
| KN-XOMIT-FRAMEWORK-BINARY | 编译器参数(Native) | Xomit-framework-binary | ObjC / Swift / C 互操作 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 编译 framework 时省略二进制 |
| KN-XOVERRIDE-CLANG-OPTIONS | 编译器参数(Native) | Xoverride-clang-options | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 显式传入 Clang 选项列表 |
| KN-XOVERRIDE-KONAN-PROPERTIES | 编译器参数(Native) | Xoverride-konan-properties | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 用给定键值覆盖 konan.properties |
| KN-XPARTIAL-LINKAGE | 编译器参数(Native) | Xpartial-linkage | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用部分链接(partial linkage) |
| KN-XPARTIAL-LINKAGE-LOGLEVEL | 编译器参数(Native) | Xpartial-linkage-loglevel | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置部分链接的编译期日志级别 |
| KN-XPHASES-TO-VALIDATE | 编译器参数(Native) | Xphases-to-validate | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 在指定后端阶段前后都校验状态 |
| KN-XPHASES-TO-VALIDATE-AFTER | 编译器参数(Native) | Xphases-to-validate-after | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 在指定后端阶段后校验状态 |
| KN-XPHASES-TO-VALIDATE-BEFORE | 编译器参数(Native) | Xphases-to-validate-before | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 在指定后端阶段前校验状态 |
| KN-XPLUGIN | 编译器参数(Native) | Xplugin | 插件、脚本与测试运行器 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 从给定 classpath 加载编译器插件 |
| KN-XPRE-LINK-CACHES | 编译器参数(Native) | Xpre-link-caches | 构建缓存与增量 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 执行缓存预链接 |
| KN-XPURGE-USER-LIBS | 编译器参数(Native) | Xpurge-user-libs | 模块、KLIB 与依赖 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 即使显式指定也不链接未使用的库 |
| KN-XREAD-DEPENDENCIES-FROM | 编译器参数(Native) | Xread-dependencies-from | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 用于链接的序列化依赖 |
| KN-XREFINES-PATHS | 编译器参数(Native) | Xrefines-paths | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 路径:output directories for refined modules (module |
| KN-XRENDER-INTERNAL-DIAGNOSTIC-NAMES | 编译器参数(Native) | Xrender-internal-diagnostic-names | 警告、错误与编译日志 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 渲染警告/错误的内部名称 |
| KN-XREPL | 编译器参数(Native) | Xrepl | 插件、脚本与测试运行器 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 运行Kotlin REPL (deprecated) |
| KN-XRETURN-VALUE-CHECKER | 编译器参数(Native) | Xreturn-value-checker | 语言能力与兼容 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置未使用返回值检查模式 |
| KN-XRUNTIME | 编译器参数(Native) | Xruntime | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 覆盖默认 runtime.bc 路径 |
| KN-XRUNTIME-LOGS | 编译器参数(Native) | Xruntime-logs | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用 Native runtime 内部日志 |
| KN-XSAVE-LLVM-IR-AFTER | 编译器参数(Native) | Xsave-llvm-ir-after | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将 Kotlin IR→LLVM IR 结果保存到指定目录 |
| KN-XSAVE-LLVM-IR-DIRECTORY | 编译器参数(Native) | Xsave-llvm-ir-directory | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 保存 LLVM IR 阶段性结果的目录 |
| KN-XSEPARATE-KMP-COMPILATION | 编译器参数(Native) | Xseparate-kmp-compilation | 多平台工程与源集 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用分离式 KMP 编译方案 |
| KN-XSHORT-MODULE-NAME | 编译器参数(Native) | Xshort-module-name | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 库在 IDE / 生成的 ObjC 头中的短名称 |
| KN-XSKIP-METADATA-VERSION-CHECK | 编译器参数(Native) | Xskip-metadata-version-check | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许加载元数据版本异常或预发布类 |
| KN-XSKIP-PRERELEASE-CHECK | 编译器参数(Native) | Xskip-prerelease-check | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 允许加载预发布类 |
| KN-XSTATIC-FRAMEWORK | 编译器参数(Native) | Xstatic-framework | ObjC / Swift / C 互操作 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 生成静态库形式的 framework |
| KN-XSTDLIB-COMPILATION | 编译器参数(Native) | Xstdlib-compilation | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 仅标准库编译需要的特殊能力 |
| KN-XSUPPRESS-API-VERSION-GREATER-THAN-LANGUAGE-VERSION-ERROR | 编译器参数(Native) | Xsuppress-api-version-greater-than-language-version-error | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 抑制 API 版本高于语言版本的错误 |
| KN-XSUPPRESS-VERSION-WARNINGS | 编译器参数(Native) | Xsuppress-version-warnings | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 抑制语言/API 版本过时或不一致类警告 |
| KN-XTEMPORARY-FILES-DIR | 编译器参数(Native) | Xtemporary-files-dir | 工具链、环境与参数透传 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 将临时文件保存到指定目录 |
| KN-XUNRESTRICTED-BUILDER-INFERENCE | 编译器参数(Native) | Xunrestricted-builder-inference | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 放宽 builder inference 限制 |
| KN-XUSE-FIR-EXPERIMENTAL-CHECKERS | 编译器参数(Native) | Xuse-fir-experimental-checkers | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用尚未用于生产的前端 IR 实验检查 |
| KN-XUSE-FIR-IC | 编译器参数(Native) | Xuse-fir-ic | 构建缓存与增量 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 使用前端 IR 内部增量编译(实验) |
| KN-XUSE-FIR-LT | 编译器参数(Native) | Xuse-fir-lt | 语言能力与兼容 | 中 · 场景相关 | 默认开 | 场景可配 | 上游原样 | 使用 LightTree 解析器配合前端 IR |
| KN-XUSE-K2 | 编译器参数(Native) | Xuse-k2 | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 使用实验性 K2 编译管线 |
| KN-XVERBOSE-PHASES | 编译器参数(Native) | Xverbose-phases | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 对指定后端阶段输出详细日志 |
| KN-XVERIFY-BITCODE | 编译器参数(Native) | Xverify-bitcode | 编译器内部排障 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 每个方法后校验 LLVM bitcode |
| KN-XVERIFY-COMPILER | 编译器参数(Native) | Xverify-compiler | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 启用编译器自检 |
| KN-XVERIFY-IR | 编译器参数(Native) | Xverify-ir | 编译器内部排障 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | IR 校验模式 |
| KN-XVERIFY-IR-VISIBILITY | 编译器参数(Native) | Xverify-ir-visibility | 编译器内部排障 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 在 lowering 前校验 IR 可见性违规 |
| KN-XWARNING-LEVEL | 编译器参数(Native) | 指定警告级别Xwarning-level | 警告、错误与编译日志 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 设置指定警告的级别(如升为 error) |
| KN-XWHEN-GUARDS | 编译器参数(Native) | Xwhen-guards | 语言能力与兼容 | 中 · 场景相关 | 默认关 | 场景可配 | 上游原样 | 启用实验性language support for when guards |
| KN-XWORKER-EXCEPTION-HANDLING | 编译器参数(Native) | Xworker-exception-handling | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 配置 Worker.executeAfter 中未处理异常的行为 |
| KN-XWRITE-DEPENDENCIES-OF-PRODUCED-KLIB-TO | 编译器参数(Native) | Xwrite-dependencies-of-produced-klib-to | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 写入file containing the paths of dependencies used |
| KN-XWRITE-DEPENDENCIES-TO | 编译器参数(Native) | Xwrite-dependencies-to | 模块、KLIB 与依赖 | 中 · 场景相关 | 未设置 | 场景可配 | 上游原样 | 后端依赖写出路径 |
| KN-BINARY-DUMPOBJCSELECTORTOSIGNATUREMAPPING | 编译器参数(Native) | Xbinary=dumpObjcSelectorToSignatureMapping | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 导出 ObjC selector 到签名的映射(调试) |
| KN-BINARY-MINIDUMPLOCATION | 编译器参数(Native) | Xbinary=minidumpLocation | 调试、符号化与运行时诊断 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 指定 minidump 输出位置 |
| KN-BINARY-OBJCEXPORTREPORTNAMECOLLISIONS | 编译器参数(Native) | Xbinary=objcExportReportNameCollisions | ObjC / Swift / C 互操作 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 报告 ObjC 导出中的命名冲突 |
| KN-XDUMP-DIRECTORY | 编译器参数(Native) | Xdump-directory | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 将后端状态转储到该目录 |
| KN-XDUMP-FQNAME | 编译器参数(Native) | Xdump-fqname | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 按 FqName 转储声明 |
| KN-XDUMP-PERF | 编译器参数(Native) | Xdump-perf | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 将详细性能统计写入指定文件(按扩展名选择 plain/JSON/markdown) |
| KN-XDUMP-TESTS-TO | 编译器参数(Native) | Xdump-tests-to | 插件、脚本与测试运行器 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 将可用测试列表转储到指定文件 |
| KN-XPHASES-TO-DUMP | 编译器参数(Native) | Xphases-to-dump | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 在指定后端阶段前后都转储状态 |
| KN-XPHASES-TO-DUMP-AFTER | 编译器参数(Native) | Xphases-to-dump-after | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 在指定后端阶段后转储状态 |
| KN-XPHASES-TO-DUMP-BEFORE | 编译器参数(Native) | Xphases-to-dump-before | 编译器内部排障 | 中 · 场景相关 | 未设置 | 排障诊断 | 上游原样 | 在指定后端阶段前转储状态 |
| KN-XPRINT-BITCODE | 编译器参数(Native) | Xprint-bitcode | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 打印 LLVM bitcode |
| KN-XPRINT-FILES | 编译器参数(Native) | Xprint-files | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 打印参与编译的文件列表 |
| KN-XPRINT-IR | 编译器参数(Native) | Xprint-ir | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 打印 IR |
| KN-XPROFILE-PHASES | 编译器参数(Native) | Xprofile-phases | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 对后端阶段做性能剖析 |
| KN-XREPORT-ALL-WARNINGS | 编译器参数(Native) | Xreport-all-warnings | 警告、错误与编译日志 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 即使已有错误仍报告全部警告 |
| KN-XREPORT-OUTPUT-FILES | 编译器参数(Native) | Xreport-output-files | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 报告源文件到输出文件的映射 |
| KN-XREPORT-PERF | 编译器参数(Native) | Xreport-perf | 编译器内部排障 | 中 · 场景相关 | 默认关 | 排障诊断 | 上游原样 | 输出详细性能统计 |
| KN-BINARY-PRINTTOOHOSHILOG | 编译器参数(Native) | Xbinary=printToOhosHiLog | 调试、符号化与运行时诊断 | 低 · 工具/诊断 | 视情况 | 场景可配 | CPF-KMP-CMP社区新增 | 将运行时日志输出到鸿蒙 HiLog |
| KN-BINARY-PRINTMODULE | 编译器参数(Native) | Xbinary=printModule | 编译器内部排障 | 低 · 工具/诊断 | 默认关 | 排障诊断 | CPF-KMP-CMP社区新增 | 打印编译模块相关调试信息 |
| APP-VERBOSE | Gradle DSL | Verbose 日志verbose | 警告、错误与编译日志 | 低 · 工具/诊断 | 默认关 | 排障诊断 | 上游原样 | 输出更详细的编译日志,便于排查配置或编译失败 |
| KN-HELP | 编译器参数(Native) | help | 工具链、环境与参数透传 | 低 · 工具/诊断 | — | 排障诊断 | 上游原样 | 打印常用编译选项说明 |
| KN-LIST-TARGETS | 编译器参数(Native) | list-targets | 产物类型、链接与入口 | 低 · 工具/诊断 | — | 排障诊断 | 上游原样 | 列出可用硬件目标 |
| KN-VERSION | 编译器参数(Native) | version | 工具链、环境与参数透传 | 低 · 工具/诊断 | — | 排障诊断 | 上游原样 | 显示编译器版本 |
| KN-X | 编译器参数(Native) | X | 工具链、环境与参数透传 | 低 · 工具/诊断 | — | 排障诊断 | 上游原样 | 打印高级(-X)编译选项说明 |
| KN-XXDEBUG-LEVEL-COMPILER-CHECKS | 编译器参数(Native) | XXdebug-level-compiler-checks | 编译器内部排障 | 低 · 工具/诊断 | 默认关 | 排障诊断 | 上游原样 | 启用调试级编译器检查(可能显著变慢) |
| KN-XXEXPLICIT-RETURN-TYPES | 编译器参数(Native) | XXexplicit-return-types | 语言能力与兼容 | 低 · 工具/诊断 | 默认关 | 排障诊断 | 上游原样 | 强制the compiler to report errors on all public AP |
| KN-XXLENIENT-MODE | 编译器参数(Native) | XXlenient-mode | 多平台工程与源集 | 低 · 工具/诊断 | 默认关 | 排障诊断 | 上游原样 | 宽松模式:缺失 actual 时生成占位声明 |