問題タブ [gccgo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - OS X で cgo を使用して go 1.5 を Linux および Windows にクロスコンパイルする
git2go
go 1.4.2 を go 1.5 にアップグレードした後、OS X 上のライブラリを Linux amd64 にコンパイルするのに問題があります。
これは、C コードを使用する go アプリを go 1.5 でクロスコンパイルすることだと思います。
を使用するCGO_ENABLED=1
と、次のようになります。
を使用する-compiler=gccgo
と、次のようになります。
それらのいずれも提供していない場合、次のようになります。
私はhomebrewを使ってgoをインストールしましたが、デフォルトの場所$GOPATH
を指しています。~/go
go - エラー: 「rsa.PSSOptions」の不明なフィールド「ハッシュ」
というわけで、golangのrsaモジュールを使ったdockerを作っています。gccgo を持つ gcc をビルドして golang を使用しています。
今、私がそれを構築しているとき、私は次のエラーを受け取ります:
ここで、Hash フィールドが rsa.PSSOptions で定義されていることを知っています。なぜこのエラーが発生するのですか?
ティア。
go - golang の使用時に cgo ルーチンからコアファイルを使用してスタック トレースを取得できない
Golang と cgo を使用しています。C コードで が発生するassert()
と、 を使用しているときに C コードのスタック トレースが表示されませんcgo
。
代わりに、アサートをキャッチした golang ランタイムのスタック トレースが表示されます。
これが私のCコードの例です
そして、ここに私のMakefileがあります
go - スライスの違いから要素を削除 gccgo vs gc
GCCGO で非常に奇妙な問題を見つけたので、誰かがそれを説明できるかどうか疑問に思っていました。
提案されたスライス トリック ( https://github.com/golang/go/wiki/SliceTricks )を使用して、インデックスによってスライスから要素を削除しようとしています。
次のコード ( https://play.golang.org/p/f039m1h7Z1 ):
goコンパイラ(go run)で動作しますが、コンパイルしようとすると
私は得る
行で:
なぜこうなった?
注:xs[len(xs)-1] = 0
私の完全なユースケースでは、これは実際には構造体へのポインターのスライスであるため、私が書いているため、スライスのトリックに従って、メモリリークを防ぐために古いスライスの最終ポインターを null にする必要があります。
c++ - パフォーマンスのために Go アプリケーションで C(++) を使用する
私は数日前に Go の勉強を始め、その CGO と gccgo コンパイラーにたどり着きました。私の理解では、これにより、Go プログラムは Go コンパイラを使用してコンパイルし、C コンパイラを使用して C ライブラリをコンパイルし、Go プログラム内からそれらのライブラリを参照できます。これにより、(必要に応じて) C のパフォーマンスをメイン プログラムからほとんどオーバーヘッドなしで活用できるようになるため、これは私にとって非常に興味深いことです。
しかし、それがどれほど少ないか分からないので、ここで質問しています:
Go アプリケーション内から使用するためだけに C ライブラリを作成する場合はありますか? それとも、この機能は既存の C コードの再利用を容易にするためだけのものですか?
PS: 現時点では CGO は C++ をサポートしていないと思いますが、C 関数を使用して C++ コードをラップし、それらを正常に呼び出すことができた人の投稿がここにありました。