golang条件コンパイル方式
914 ワード
ラベルのコンパイル例えば
ソースヘッダに条件付きコンパイルラベルを配置し、制限ファイルをBSDシステムでのみコンパイルできる 1ファイルに複数のコンパイルラベルがある場合、総制限は単一の制限の論理和であり、例えば:
制限はlinux/386またはdarwin/386プラットフォームでのみコンパイルできます条件コンパイル規則: スペースセパレータは、条件コンパイルラベル論理ORのオプション値 として使用される.各条件オプションは、論理"AND" を形成するためにカンマで区切られる.各条件項目はアルファベット数字で構成され、前に「!否定を表す 注意:ラベルとパッケージ宣言の間に改行記号 が必要です.
ファイル接尾辞方式
ソースファイルが使用されている場合GOOS.go方式の接尾辞は、対応するプラットフォームでコンパイルされます.
$GOARCHも使えます.go,または$Missing superscript or subscript argumentGOOS_$GOARCH.g両者を結合した接尾辞は、
例:
// +build darwin freebsd netbsd openbsd
ソースヘッダに条件付きコンパイルラベルを配置し、制限ファイルをBSDシステムでのみコンパイルできる
// +build linux darwin
// +build 386
制限はlinux/386またはdarwin/386プラットフォームでのみコンパイルできます
// +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