CGoforENetを使用してGoラッパーを作成しようとしています。
Macでラッパーをコンパイルしようとすると、ライブラリが古くなり、インターフェイスが少し異なります。コードの99%は同じですが、いくつかのC呼び出しを変更する必要があります。
Goでこのような問題に対処するためのベストプラクティスは何ですか?
条件付きコンパイルまたは条件付きインポートを行う方法はありますか?
CGoforENetを使用してGoラッパーを作成しようとしています。
Macでラッパーをコンパイルしようとすると、ライブラリが古くなり、インターフェイスが少し異なります。コードの99%は同じですが、いくつかのC呼び出しを変更する必要があります。
Goでこのような問題に対処するためのベストプラクティスは何ですか?
条件付きコンパイルまたは条件付きインポートを行う方法はありますか?
プラットフォーム固有のものを別のファイル(例:stuff.go)に分離します
次に、stuff.goを、stuff_darwin.go(Macの場合)、stuff_windows.go、stuff_linux.goなどのさまざまなプラットフォームのバージョンに置き換えます。
ファイルにそのようなサフィックスが付いている場合、goコマンドは指定されたプラットフォームでのみファイルをコンパイルします。
Goには、条件付きコンパイルまたは条件付きインポートはありません。Cコードの型の違いを処理します。