go build常用

go build

Build编译由导入的路径命名的包及其依赖项,不安装结果

编译时忽视_test,go结尾的文件

编译单个main包时,将可执行文件写入源目录

编译多个包或者一个非main包时,编译这些包,但是直接丢弃编译好的对象

-o flags 强置写入可执行结果或者对象,跳出上面两行的规则

-C (change)

change the dir before running 改变工作目录

go build -C /path/to/your/project -a -n
​

使用时必须要在命令行的第一个

-n(nani什么

看看要执行那些命令行

-x -v (看看编译时候发生了啥

-x 看看命令行

-v 看看哪些包被编译了

-race

开启数位竞争检测(找bug

KEY

go build -gcflags(传递flags给编译器gc,以此控制编译过程)

  1. -N: 禁用优化。这对于调试非常有用,因为它保留了更多的调试信息,并使程序的执行更接近源代码。

  2. -l: 禁用函数内联。在调试时,内联可能会使得理解和追踪程序变得更困难

  3. -m: 打印优化决策。这个选项可以重复使用(例如 -m -m)以提供更多的信息。

  4. -race: 启用竞态检测。这对于检测并发程序中的数据竞争非常有用

  5. -msan: 启用内存消毒器。这用于检测内存错误,如缓冲区溢出和使用未初始化的内存。

  6. -S: 打印生成的汇编代码。这对于理解 Go 代码如何转换为底层指令非常有用

  7. -d: 设置编译器的调试选项。例如,-d=checkptr 用于检查指针算术的安全性。

  8. -e: 输出所有错误(而不是在遇到太多错误时停止)。

  9. -work: 打印编译时使用的临时工作目录,并在完成后不删除它。

  10. -x: 打印执行的命令。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值