6

CGoforENetを使用してGoラッパーを作成しようとしています

Macでラッパーをコンパイルしようとすると、ライブラリが古くなり、インターフェイスが少し異なります。コードの99%は同じですが、いくつかのC呼び出しを変更する必要があります。

Goでこのような問題に対処するためのベストプラクティスは何ですか?
条件付きコンパイルまたは条件付きインポートを行う方法はありますか?

4

2 に答える 2

15

プラットフォーム固有のものを別のファイル(例:stuff.go)に分離します

次に、stuff.goを、stuff_darwin.go(Macの場合)、stuff_windows.go、stuff_linux.goなどのさまざまなプラットフォームのバージョンに置き換えます。

ファイルにそのようなサフィックスが付いている場合、goコマンドは指定されたプラットフォームでのみファイルをコンパイルします。

于 2012-06-21T17:55:31.273 に答える
2

Goには、条件付きコンパイルまたは条件付きインポートはありません。Cコードの型の違いを処理します。

[Go]の作者は前処理に反対していますか?

于 2012-06-21T17:49:54.723 に答える