問題タブ [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.
c - Go cgo で WebKitWebSettings を変更する
go-webkit を使用していて、webkitsettings のインスタンスがあります。設定を変更するにはどうすればよいですか?
私はこのようなことをしようとしています
main.go
https://github.com/mattn/go-webkit/blob/master/webkit/webkit.go#L370からの go-webkit スニペット
}
Webkit API: 1.0 http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebSettings.html
go - *ptrdiff_t に変換するために入力しますか?
int
C 関数を呼び出している Go プログラムでは、 からに正常に変換できptrdiff_t
ます。int8
( Go 型が最新のアーキテクチャに対して小さすぎる場合でも、多少懸念されることもありますが、正常にコンパイルされます。)ただし*int
、*ptrdiff_t
コンパイラ エラーが発生します: cannot convert <varname> (type *int) to type *_Ctype_ptrdiff_t
. 正常なコンパイルを許可する唯一の型はint64
. 変数を (*)C.ptrdiff_t として宣言できることはわかっていますが、対応する適切な Go 型と、この場合の Go コンパイラの予期しない動作を理解したいですか?
c - 文字列リテラルを C に渡す
goでCコードを呼び出して遊んでいます。ただし、goから使用しようとするとprintf
、フォーマット文字列が文字列リテラルではないという警告が表示されます。
警告:
警告: フォーマット文字列は文字列リテラルではありません (安全でない可能性があります) [-Wformat-security]
文字列リテラルを次のようなC関数に渡すにはどうすればよいprintf
ですか? 私が使用できるのと同様の機能はありC.CString()
ますか、それとも不可能であり、この警告を無視する必要がありますか?
go - Golang zmq バインディング、ZMQ4 で、ファイル zmq.h が見つからないというパッケージ エラーが返される
Go アプリに ZMQ ソケットを含めようとしていますが、zmq4 と gozmq (参照されている Go 用の ZMQ バインディング ライブラリ) の両方で問題が発生しています。zmq4 が特に私のシステムにインポートできない理由を理解したいと思います。
Windows 8 システムを実行しており、バージョン 4.0.3 の ZMQ Web サイトの Windows インストーラーを使用しました。私は主にzmq4をセットアップすることに関心があり、githubライブラリの場所に対する「go get」クエリの結果は次のとおりです。
この問題は、Github リポジトリのクローンを作成しても軽減されません。エラーは同じままです。
この問題は、ZMQ インストールの「include」フォルダーにある C ライブラリ zmq.h に関係していることはわかっていますが、依存関係がパスの問題または外部ツールの問題によって保持されているかどうかは、私にとって謎です。
同様のエラーがnode.jsに関して発生しました。これは、ノードスクリプト以外で他の人が参照している解決策ですが、私の場合は失敗しました。
これまで、PATH 環境変数に「include」フォルダーへのパスを含め、zmq4 最上位フォルダー内に zmq.h を配置しました。私はCおよびGoでのCインポートパッケージが初めてなので、この問題を理解するための武器はあまりありません
go - C構造体をGo構造体に変換する良い方法または推奨される方法
Go からライブラリ バインディングを開発するために cgo を使用しています。以下のように C 構造体と Go Struct を考えてみましょう。
これはgoの構造体です
以下のように Go 関数を実装するには、TranslateCCons2GoCons を実装するより良い方法は何ですか?
私の最初の答えは以下の通りです。
何か良い方法はありますか?