Go 学习笔记第三部分 附录.pdfVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Go 学习笔记第三部分 附录.pdf

Go 学习笔记第三部分 附录 第三部分 附录 A. ⼯具 1. ⼯具集 1.1 go build gcflags ldflags 更多参数: go tool 6g -h 或 [/cmd/gc/](/c go tool 6l -h 或 [/cmd/ld/](/c 1.2 go install 和 go build 参数相同,将⽣成⽂件拷贝到 bin 、pkg ⽬录。优先使⽤ GOBIN 环境变量 所指 ⽬录。 1.3 go clean 1.4 go get 下载并安装扩展包。默认保存到 GOPATH 指 的第⼀个⼯作空间。 1.5 go tool obj dump 反汇编可执⾏⽂件。 $ go tool objdump -s main\ .\w+ t st $ go tool objdump -s main\ .main t st 2. 条件编译 通过 runtime .GOO /GOARCH 判断,或使⽤编译约束标记。 // +build darwin linux 必须有空⾏,以区别包⽂档。 packag main 在源⽂件 (.go , .h , .c , .s 等) 头部添加 +build 注释,指⽰编译器检查相关环境变量。多 个约束标记会合并处理。其中空格表⽰ OR ,逗号 AND ,感叹号 NOT 。 // +build darwin linux -- 合并结果 (darwin OR linux) AND (amd64 AN // +build amd64,!cgo 如果 GOO 、GOARCH 条件不符合,则编译器会会忽略该⽂件。 还可使⽤⽂件名来表⽰编译约束,⽐如 test_darwin_amd64 .go 。使⽤⽂件名拆分多个 不同平台源⽂件,更利于维护。 $ ls -l /usr/local/go/src/pkg/runtim -rw-r--r--@ 1 yuh n admin 11545 11 29 05:38 os_darwin.c -rw-r--r--@ 1 yuh n admin 1382 11 29 05:38 os_darwin.h -rw-r--r--@ 1 yuh n admin 6990 11 29 05:38 os_fr bsd.c -rw-r--r--@ 1 yuh n admin 791 11 29 05:38 os_fr bsd.h -rw-r--r--@ 1 yuh n admin 644 11 29 05:38 os_fr bsd_arm.c -rw-r--r--@ 1 yuh n admin 8624 11 29 05:38 os_linux .c -rw-r--r--@ 1 yuh n admin 1067 11 29 05:38 os_linux .h -rw-r--r--@ 1 yuh n admin 861 11 29 05:38 os_linux_386.c -rw-r--r--@ 1 yuh n admin 2418 11 29 05:38 os_linux_arm.c ⽀持:*_GOOS、*_GOARCH、*_GOOS_GOARCH、*_GOARCH_GOOS 格式。 可忽略某个⽂件,或指 编译器版本号。更多信息参考标准库 go/build ⽂档。 // +build ignor // +build go1.2 最低需要 go 1.2 编译。 ⾃ 义约束条件,需使⽤ go build -tags 参数。 test .go // +build b ta,d bug packag main func init() { println(t st.go init) } 输出: $ go build -tags d bug b ta ./t st t st.go init $ go build -tags d bug ./t st $ go build -tags d bug \ !cgo ./t st 3. 跨平台编译 ⾸先得⽣成与平台相关的⼯具和标准库。 $ cd /usr/local/go/src $ GOOS=linux GOARCH=amd64 ./mak .bash --no-cl an # Building C bootstrap tool. cmd/dist # Building compil

文档评论(0)

suijiazhuang1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档