You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BUILD.gn中如何将指定目录下所有.c文件添加至sources

在BUILD.gn中批量添加目录下的.c文件到sources

GN 不支持直接在 sources 数组中使用 *.c 这类通配符匹配文件,你需要用 GN 内置的 glob() 函数来实现批量文件匹配。

基础用法示例

直接将通配符规则传入 glob(),再和单个文件的数组合并:

sources = [
  "./fuzz_ioctl.c",
] + glob([
  "./Secodefuzz/mutators/*.c",
  "./Secodefuzz/common/*.c",
])

扩展用法

  • 递归匹配子目录:如果需要包含目标目录下所有子目录的 .c 文件,使用 **/*.c 规则:
sources = [
  "./fuzz_ioctl.c",
] + glob([
  "./Secodefuzz/mutators/**/*.c",
  "./Secodefuzz/common/**/*.c",
])
  • 排除特定文件:如果需要跳过某些文件,可通过 exclude 参数指定:
sources = [
  "./fuzz_ioctl.c",
] + glob(
  ["./Secodefuzz/mutators/*.c", "./Secodefuzz/common/*.c"],
  exclude = ["./Secodefuzz/mutators/skip_this.c"]
)

内容的提问来源于stack exchange,提问作者Sword Destiny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:42:03