Go常用命令之go build

go build

作用

用于编译源码文件或代码包,编译非命令源码文件不会产生结果文件,它只会检查源码文件的有效性。

特有标记

-o

指定构建生成的可执行文件或对象的输出目录及可执行文件名。但需要注意的时,当使用-o标记时,不能同时对多个代码包进行编译。

-i

安装那些编译目标依赖的且未被安装的代码包。

共享标记(build、clean、get、install、list、run、test)

常用标记
-a

强行对所有涉及到的代码包(包含标准库中的代码包)进行重新构建,即使他们已经是最新的了。

-n

打印编译期间所用到的其他命令,但是并不真正执行它们。

-p n

指定编译过程中执行各任务的并行数量(确切的说应该是并发数量)。在默认情况下,该数量等于CPU的逻辑核数。但是在darwin/arm平台(即iphone和ipad所用的平台)下,该数量默认是1。

-race

开启竞态条件检测。不过此标记目前仅在linux/amd64、freebsd/adm64、darwin/adm64、和windows/amd64平台下受到支持。

-v

打印出那些被编译的代码包的名字。

-work

打印出编译时生成的临时工作目录的路径,并在编译结束时保留它。

-x

打印编译期间所用到的其他命令(注意与-n的区别)

不常用标记
-asmflags
-buildmode

此标记用于指定编译模式,使用方式如: -buildmode=default,此标记支持的变异模式有6中。借此我们可以控制编译器在编译完成后生成静态链接库(.a文件)、动态链接库(.os文件)、可执行文件。

-compiler

此标记用于指定当前使用的编译器的名称。其值可以使gc或者gccgo。其中,gc编译器即为Go语言自带的编译器,而gccgo编译器则是GCC提供的Go编译器。

-gccgoflags

此标记用于指定需要传递给gccgo编译器或者链接器的标记的列表

-gcflags

此标记用于指定需要传递给 go tool compile命令的标记列表

-ldflags
-linkshared
-pkgdir

指定一个目录。编译器会只从该目录中加载代码包的归档文件(.a),并把编译可能会生成的代码包归档文件放置在该目录下。

-tags

此标签用于指定在编译期间需要手里的编译标签列表。

-toolexec

自定义在编译期间额外执行的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值