問題タブ [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.
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.h
gtk
しかし、それは何も解決しませんでした。
私が間違っていることを誰かが知っていますか?
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に行く
macos - OSX 10.9 で C パッケージをコンパイルする
10.9 では、Go での C パッケージのコンパイルが壊れているようです。10.8 で実行されるパッケージをビルドしようとすると、一族の出力
これを修正しようとすると、次を追加します
Go は次のように応答します。
インポートされたタイプの場合。これを解決するためのヒントはありますか?
go - golang: パッケージ間で C.int を共有できますか
メインパッケージには次のものがあります:
私が持っているfastergoパッケージで:
実行しようとすると、次のようになります。
ここで何を伝えようとしているのかよくわかりませんが、どういうわけか、すべての C.int が等しくないことを伝えたいと思いますか? これはなぜですか?どうすればこれを解決できますか/回避できますか?
go - Golang と XLib のリンク
このコードを使用して、Go 内で XLib を使用しようとしています。
私はこれを次の方法でコンパイルしています:
ただし、次のエラー メッセージが表示されます。
これを解決する方法はありますか?
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 する必要があることがわかっています) を使用しますか?
opengl - メモリのサイズをバイト単位で期待する CGo 関数を処理する標準的な方法は何ですか?
私はOpenGLとGoで遊んでいます。ほとんどがかなり直感的ですが、扱いにくいインターフェイスの問題がいくつかあります。glBufferData の 2 番目の引数は、メモリ内のバッファーのサイズにする必要があります。
バッファに 32 ビットの浮動小数点数が含まれている場合、各要素は 4 バイトを使用するため、2 番目の引数については次のようにすることができます。
ハードコーディングする以外に、メモリ内の型のサイズを取得するより良い方法はありますか?
c - Golang (cgo) - cgo によるネストされた構造体のサポート?
cgo を使用して x264 ライブラリ用の小さなラッパーを作成しようとしたところ、ネストされた構造体に関する問題が発生しました。ライブラリは、いくつかのフィールドが匿名の構造体である複雑な構造体を多数使用しています。
cgo を使用してこれらの構造体にアクセスしようとすると、ネストされた構造体が存在しないと go が主張するため、コンパイル エラーが発生します。
問題を .h ファイルと以下に貼り付けた .go ファイルにまとめることができました。うまくいけば、問題を示すのに十分明確です。
この問題の解決策または回避策を知っている人はいますか?
ありがとう。