問題タブ [cgo]

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.

0 投票する
1 に答える
488 参照

go - gco を使用した Go で gtk を介して glib を使用する際の問題

私のCの理解はかなり貧弱です。コードを読むことはできますが、何かをインクルード/ビルド/メイク/構成する方法がわかりません。これがおそらく、次の Go コードをコンパイルできない理由です。このコードは、https://developer.gnome.org/gtk3/3.0/gtk-getting-started.htmlを Go に適応させようとする私の試みです。

問題のある行はC.g_signal_connect(...)です。エラーは次のとおりです。

行を削除すると、コードが機能し、gtk ウィンドウが開きます。

これは、の多くのヘッダー ファイルに含まれている にg_signal_connect由来することがわかりました。私はそれを自分で含めようとしました:glib-object.hgtk

しかし、それは何も解決しませんでした。

私が間違っていることを誰かが知っていますか?

0 投票する
1 に答える
1216 参照

debugging - GDB が cgo コード内で go プログラムをデバッグできない

サンプルファイル

src/test.go

src/clib/clib.h

src/clib/clib.c

src/clib/clib.go

実行コード


この問題を解決するのを手伝ってくれる人、どうもありがとう。

私の環境:

  • Ubuntu 11.04 i386
  • gdb 7.6
  • 1.1に行く
0 投票する
1 に答える
656 参照

macos - OSX 10.9 で C パッケージをコンパイルする

10.9 では、Go での C パッケージのコンパイルが壊れているようです。10.8 で実行されるパッケージをビルドしようとすると、一族の出力

これを修正しようとすると、次を追加します

Go は次のように応答します。

インポートされたタイプの場合。これを解決するためのヒントはありますか?

0 投票する
1 に答える
1860 参照

go - golang: パッケージ間で C.int を共有できますか

メインパッケージには次のものがあります:

私が持っているfastergoパッケージで:

実行しようとすると、次のようになります。

ここで何を伝えようとしているのかよくわかりませんが、どういうわけか、すべての C.int が等しくないことを伝えたいと思いますか? これはなぜですか?どうすればこれを解決できますか/回避できますか?

0 投票する
2 に答える
2453 参照

go - Golang と XLib のリンク

このコードを使用して、Go 内で XLib を使用しようとしています。

私はこれを次の方法でコンパイルしています:

ただし、次のエラー メッセージが表示されます。

これを解決する方法はありますか?

0 投票する
3 に答える
278 参照

go - cgo SDL 関数が指定されていません

私はこれをどこでも調べてみましたが、できることはすべて試しましたが、SDL を Go で動作させることができません。これが私のコードです。少しずさんですが、出発点として、テストするために、それを機能させたかっただけです。私はそれをクリーンアップして、後で不要な #defines をすべて取り除くつもりでした。

これにより、「コマンドライン引数」エラーが発生します。「SDL_LoadBMP」が宣言されていません(この関数で最初に使用されます)。検索や魔法の量では修正されません。必要な場合は、SDL 1.0.2 を使用して Ubuntu を使用しています (と思います)。

Go用の唯一のSDL 1ラッパーは2年前のもので、2つの良いものはSDL 2用であるため、ラッパーを使用したくありません.SDL 1を使用したいと思います.私を案内できる人に感謝します.

また、おまけの質問ですが、コンパイラは (明らかに) テストを許可しないため、BlitSurface の引数で "nil"、"NULL"、または "C.NULL" (#define する必要があることがわかっています) を使用しますか?

0 投票する
1 に答える
119 参照

opengl - メモリのサイズをバイト単位で期待する CGo 関数を処理する標準的な方法は何ですか?

私はOpenGLとGoで遊んでいます。ほとんどがかなり直感的ですが、扱いにくいインターフェイスの問題がいくつかあります。glBufferData の 2 番目の引数は、メモリ内のバッファーのサイズにする必要があります。

バッファに 32 ビットの浮動小数点数が含まれている場合、各要素は 4 バイトを使用するため、2 番目の引数については次のようにすることができます。

ハードコーディングする以外に、メモリ内の型のサイズを取得するより良い方法はありますか?

0 投票する
2 に答える
2616 参照

c - Golang (cgo) - cgo によるネストされた構造体のサポート?

cgo を使用して x264 ライブラリ用の小さなラッパーを作成しようとしたところ、ネストされた構造体に関する問題が発生しました。ライブラリは、いくつかのフィールドが匿名の構造体である複雑な構造体を多数使用しています。

cgo を使用してこれらの構造体にアクセスしようとすると、ネストされた構造体が存在しないと go が主張するため、コンパイル エラーが発生します。

問題を .h ファイルと以下に貼り付けた .go ファイルにまとめることができました。うまくいけば、問題を示すのに十分明確です。

この問題の解決策または回避策を知っている人はいますか?

ありがとう。

構造体.h

main.go