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,以此控制编译过程)
-
-N: 禁用优化。这对于调试非常有用,因为它保留了更多的调试信息,并使程序的执行更接近源代码。
-
-l: 禁用函数内联。在调试时,内联可能会使得理解和追踪程序变得更困难。
-
-m: 打印优化决策。这个选项可以重复使用(例如
-m -m)以提供更多的信息。 -
-race: 启用竞态检测。这对于检测并发程序中的数据竞争非常有用。
-
-msan: 启用内存消毒器。这用于检测内存错误,如缓冲区溢出和使用未初始化的内存。
-
-S: 打印生成的汇编代码。这对于理解 Go 代码如何转换为底层指令非常有用。
-
-d: 设置编译器的调试选项。例如,
-d=checkptr用于检查指针算术的安全性。 -
-e: 输出所有错误(而不是在遇到太多错误时停止)。
-
-work: 打印编译时使用的临时工作目录,并在完成后不删除它。
-
-x: 打印执行的命令。
9425

被折叠的 条评论
为什么被折叠?



