Я просматривал исходный код Go, но до сих пор не понял. Если кто-то уже сделал это, не могли бы вы поделиться, пожалуйста?
Cgo позволяет создавать Go
пакеты, которые вызывают код C.
Использование: cgo [опции компилятора] file.go
Опции компилятора переданы
через не интерпретируется при вызове
GCC для компиляции C частей
пакет.
Входной файл.go является синтаксически
действительный исходный файл Go, который импортирует
псевдопакет "С", а затем относится к
такие типы, как C.size_t, такие переменные
как C.stdout, или функции, такие как
C.putchar.
Если импорт "C" происходит немедленно
предшествует комментарий, этот комментарий
используется в качестве заголовка при компиляции C
части пакета. Например:
// #include <stdio.h>
// #include <errno.h>
import "C"
Cgo преобразует входной файл в
четыре выходных файла: два исходных кода Go
файлы, файл C для 6c (или 8c или 5c),
и файл C для gcc.
Стандартные правила makefile пакета в
Make.pkg автоматизирует процесс использования
ОЦП. Смотрите $ GOROOT / misc / cgo / stdio и
$ GOROOT / misc / cgo / gmp для примеров.
Cgo еще не работает с gccgo.