#GoからC/C++を扱う
##とりあえずここ読む
Using cgo with the go command
##Cのコードが認識されない
//とimportの間に空行が入ってると前文(preamble)として認識されないようだ。
c.go
// #include <stdlib.h>
import "C"
##.so(SharedLibrary)でDllMain的なモノはないのか?
Attach相当はGoのinitが使えるけど、Detach相当がない。
ってことで、gccの属性使ってみたらできた。
so.go
// static void _attribute__((constructor)) constructor() {
// // Attach相当処理
// }
//
// static void __attribute__((destructor)) destructor() {
// // Detach相当処理
// }
import "C"
なぜか2回ずつ呼ばれる気がする…。Go側でsync.Onceかましてごまかすw