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

GO 教程

Go linker(go tool link)参数速查表

一、构建标识 / 版本 / 信息注入(最常用 ⭐⭐⭐)

参数说明常用
-B note设置 ELF Build ID / Mach-O UUID
-buildid id设置 Go build ID(-buildid=可禁用)⭐⭐
-X importpath.name=value向 string 变量注入值⭐⭐⭐
-pluginpath path设置 plugin 的完整路径⭐⭐

二、调试 / 符号 / DWARF(VSCode / dlv 重点 ⭐⭐⭐)

参数说明调试建议
-s去掉符号表❌ 调试别用
-w去掉 DWARF 调试信息❌ 调试别用
-compressdwarf压缩 DWARF(默认 true)⭐ 大工程可关
-randlayout随机函数布局
-k symbol跟踪字段符号

三、构建模式 / 插件 / C 交互(你关心的 ⭐⭐⭐)

参数说明备注
-buildmode构建模式(exe / c-shared / plugin)⭐⭐⭐
-linkmodeinternal / external⭐⭐
-extld指定外部 linker
-extldflags传递给外部 linker 的参数
-aslrWindows c-shared 启用 ASLR

四、性能 / 分析 / 运行时行为(中级 ⭐⭐)

参数说明
-race启用竞态检测
-msan内存检查(Linux)
-asanAddressSanitizer
-memprofilerateruntime.MemProfileRate
-cpuprofileCPU profile
-memprofile内存 profile

五、ELF / 系统级(Linux 为主,Windows 很少用)

参数说明
-r pathELF 动态库搜索路径
-bindnow立即绑定符号
-I linkerELF 动态 linker
-L dir库搜索路径
-d禁用动态可执行

六、调试 linker 自身(极少用)

参数说明
-v打印 link trace
-benchmark链接阶段性能
-benchmarkprofile链接阶段 profile
-dumpdep符号依赖图
-c调用图
-debugnosplitnosplit 调用图

七、兼容 / 旧参数(了解即可)

参数说明
-ano-op(已废弃)
-nno-op(已废弃)
-f忽略版本不匹配
-g禁用包数据检查
-h出错即停

最重要的 10 个(你现在真的会用的)

-X -s -w -buildid -buildmode -linkmode -extldflags -compressdwarf -race -pluginpath

给你一个「实战对照表」

🔹 VSCode / dlv 调试(推荐)

# 什么 ldflags 都不要 # VSCode 自动加: -gcflags=all=-N -l

🔹 发布版本(最经典)

-ldflags="-s -w -buildid="

🔹 插件 / 版本注入(强烈推荐)

-ldflags="-X myproject/core.Version=1.2.0 -X myproject/core.Mode=prod"

🔹 并发 / channel 排错

-race
http://www.jsqmd.com/news/194555/

相关文章:

  • 大数据领域数据目录与人工智能的融合应用
  • 【QuantumTuan:Qt】
  • 智慧工厂数据底座再获权威认可:YMatrix 携手赣锋锂业、孚能科技入选 2025 数据智能“星河”案例
  • Claude Code 13个工程实践:详解Claude Code之父Boris的技巧分享
  • 通过 Rust 库(Rust Python 包)—— 工程化
  • Vue 3 TypeScript 接口Interface使用示例
  • 如何解决recv被业务阻塞导致的 netlink 消息丢失问题?
  • 点分治
  • Flutter 页面为什么会频繁 rebuild?如何定位和优化?
  • 《法网破晓》《两个她》同日开机 法治现实与女性悬疑双线并行
  • 高效管理临时文件:自动化方案全解析
  • AI记忆系统完全指南:从入门到精通,让你的大模型不再“失忆“!小白程序员也能秒懂的智能体记忆架构实战
  • AI写作助手测评:谁是最强创作大脑?
  • 学长亲荐10个AI论文平台,专科生轻松搞定毕业论文!
  • 【Week 1, 2026】每周阅读三篇论文
  • 78页神级文档!AI Agent让小白程序员逆袭大厂,从“能写代码“到“能解决问题“,大模型时代必备技能!
  • 使用 Python 调用 Rust 的三种方法
  • Bug侦探社:悬案破解实战手册
  • win11蓝屏dump日志无法定位到具体应用终极解决方案
  • 上银KK模组正品渠道在哪?无一级代理专属经销商技术支持靠谱吗?
  • Anaconda加速AI训练:从环境配置到性能优化
  • 硬核干货!5分钟从零构建AI智能体:大模型开发者的进阶秘籍,小白也能秒变Agent大神!
  • ELK日志分析平台搭建实战:从日志混乱到一目了然 - 详解
  • PS 样式参考:3D 白模直接出原画?概念美术的“光影魔术手” - 详解
  • 李飞飞Agent论文硬核解读!3小时从小白到大神,附超全Agent开发指南
  • 2026最新地板清洁液/洗衣片/洗地机清洁剂/多功能清洁剂/厨房清洁剂企业首要推荐广州亿通生物技术有限公司:实力代加工企业,品质洗护优选 - 全局中转站
  • 关于UE5只有透视图有显示,其他视图出现空白的问题
  • LeetCode 465 最优账单平衡
  • 企业级 MySQL 8.0 物理备份实践:使用 XtraBackup 实现全量与增量自动备份
  • 双碳目标下综合能源系统低碳运行优化调度Matlab实现