cgo

    0

    1答えて

    私は(C++での文字列のような:: c_str())文字列変数のデータポインタを取得したいと私は、これは動作しませんが見つかりました: package main /* #include <stdio.h> void Println(const char* str) {printf("%s\n", str);} */ import "C" import ( "unsafe"

    1

    1答えて

    私はCから文字列を作ろうとしています。私はポインタと長さを持っているので、私はそれをC.GoStringN関数と呼ぶことができます。 cgoはGoString構造体を生成し、私はそれを直接使用することができれば、私は思っていた: // struct generated by cgo typedef struct { const char *p; GoInt n; } GoString; //

    0

    1答えて

    Cからgoライブラリにfloat32(またはバイト)の大きなチャンクを渡す必要があります。ここで はコードです: package main import ( "C" "fmt" ) //export PrintInt func PrintInt(x []float32) { fmt.Println(x)

    0

    1答えて

    私はCにdecalredはextern機能があります。 //extern void goCallback(const struct libvlc_event_t*, void*); goで定義する: //export goCallback func goCallback(event unsafe.Pointer, userData unsafe.Pointer) { log.Fat

    1

    1答えて

    cgoを構造体配列に使用する際に問題があります。次のように 私のプログラム: は、私はC言語で構造体を持っているし、C構造体配列へのポインタが含まれています。 Cでは、変数のメモリをmallocするために、initialize関数(変数へのポインタ、変数内の配列の長さという2つのパラメータを取る)を提供します。 次に、この変数に値を割り当て、変数の配列に値を割り当てます。そして、私はこの変数を使う

    -1

    1答えて

    ファイル私は.thtmlファイルがあります場合は ... <div> <p>{{.Something}}</p> <!-- It works here! --> {{range ...}} <p>{{.Something}}</p> <!-- It DOESN't work here! --> {{end}} </div> ... 私は.tht

    0

    1答えて

    として、私は、彼らが2つのint型の引数を取り、同じシグネチャを持つC関数を呼び出すためにしようとしている(C関数指さ)unsafe.Pointerを呼び出すことができません。このエラーcannot call non-function f (type unsafe.Pointer)がコンパイル中に表示されます。 package main /* int add(int a, int b) {

    1

    1答えて

    片道DLL関数のパラメータに渡されるコールバック関数は、CGOを使用することです...コールバックが typedef void (*TCallbackString)(char*); として定義されて package main /* #cgo LDFLAGS: -L${SRCDIR} -lsomelib #include "somelib.h" extern void Callba

    0

    1答えて

    私はしばらく検索してきましたが、この問題の解決策を見つけることはできません。 SDL2のようなライブラリはOpenBSDオペレーティングシステムの一部ではないため、/usr/localに格納されています。 Goは/usr/includeでヘッダーを探していて、/usr/local/includeではないようです。 go envにフラグがありますが、編集できません。 シンボリックリンクなしでこの問題

    1

    1答えて

    Golangでは、double型の配列を返す関数をエクスポートする方法。それは以前に可能であった方法は、返すように見える「ランタイムエラーを:CGO結果がポインタを移動します持っている」今: //export Init func Init(filename string) (C.int, unsafe.Pointer) { var doubles [10]float64 do