美文网首页
golang条件编译方式

golang条件编译方式

作者: 杀破魂 | 来源:发表于2018-04-24 11:05 被阅读378次

编译标签方式

  1. 例如:
// +build darwin freebsd netbsd openbsd

在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译

  1. 当一个文件有多个编译标签,总的限制是单个限制的逻辑与,例如:
// +build linux darwin
// +build 386

限制只能在linux/386或darwin/386平台上编译

  1. 条件编译规则:

    • 空格分隔符被作为条件编译标签逻辑“或”的选项值
    • 每个条件选项用逗号隔开形成逻辑“与”
    • 每个条件项由字母数字组成,在前面加“!”表示否定
  2. 注意:

    编译标签和包声明之间要有换行符

    // +build !linux
    
    package mypkg // correct
    

文件后缀方式

假如源文件使用_$GOOS.go方式的后缀,将在对应的平台上编译。

同样可以用$GOARCH.go,或者$Missing superscript or subscript argumentGOOS_$GOARCH.g 两者结合的后缀,备用使用 _$GOARCH_$GOOS.go

例如:

mypkg_freebsd_arm.go // only builds on freebsd/arm systems
mypkg_plan9.go       // only builds on plan9

相关文章

  • golang条件编译方式

    编译标签方式 例如: 在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译 当一个文件有多个编译标签,总...

  • golang 条件编译

    实现方式 在源代码的开头第一行指定需要编译的平台,比如要获取磁盘大小,linux和win 平台的方法是不一样的。注...

  • golang条件编译

    开篇 golang中没有类似C语言中条件编译的写法,比如在C代码中可以使用如下语法做一些条件编译,结合宏定义来使用...

  • Golang 交叉编译

    [TOC] 说明 本文交叉编译需要 1.5 以上 Golang Mac 下编译 windows 64 Golang...

  • golang进行交叉编译

    golang进行交叉编译 交叉编译即编译不同操作系统平台的可执行程序 golang执行交叉编译,只需要使用两个变量...

  • rust条件编译

    条件编译的使用方法 两种操作方式进行rust的条件编译 cfg属性:在属性的位置标注 #[cfg(...)]例如 ...

  • go如何进行交叉编译

    golang交叉编译 问题 golang如何在一个平台编译另外一个平台可以执行的文件。比如在mac上编译Windo...

  • 基于golang容器的编译方式

  • GO golang 获取磁盘空间 条件编译

    原文:在Golang中获取系统的磁盘空间内存占用 获取磁盘占用情况(Linux/Mac下有效) 我用的MAC做开发...

  • go 语言学习

    Golang 在 Mac、Linux、Windows 下如何交叉编译 Mac 下编译 Linux 和 Window...

网友评论

      本文标题:golang条件编译方式

      本文链接:https://www.haomeiwen.com/subject/wemdlftx.html