cgoがむずい

CとGoの世界の境界線をいったりきたり。

分かる人には簡単なんだろうけどgolang自体が初心者から抜け出せない。。。

コールバック関数をメンバーに持つstructをつくって、コールバックが動くと対応するgolangのfuncが動く感じになればいい。

直接GoからCにfuncを渡せないっぽいのでexternしたりラップしたりと面倒な感じになっていてイマイチ。

ようやく動いたと思ったらintっぽい値がoverflowしてるっぽい値になっているのでどこかでキャスト的なことが必要っぽい。

参考文献だけまとめておいて今日は終わり。

Go Tips Learned From Writing go-libxml2/go-xmlsec — Medium

cgo の基本的な使い方とポインタ周りのTips (Go v1.2) - LESS IS MORE

golang で string を []byte にキャストしてもメモリコピーが走らない方法を考えてみる - Qiita

Go1.6でポインタをcgoの関数へ渡す際に発生するcgoCheckPointerを回避する方法 - Qiita

cgo - GoDoc