cgo

    2зной

    1ответ

    Предположим, у меня есть библиотека C с кодом вроде этого: typedef int (callback_t)(int); void register_callback(callback_t cb); Я хочу написать идти привязок для этой функции и передавать произвол

    1зной

    1ответ

    У меня есть приложение Go 1.5, которое связывается с библиотекой C (GEOS, FWIW) с помощью cgo. То, что мне нужно сделать, это вендор, чтобы он мог в конечном итоге быть развернут через нашу систему не

    2зной

    1ответ

    Кажется, что я не могу использовать Cgo для вызова функции C, объявленной в другом каталоге, а не в текущем пакете Go. коды всех файлов: // TestGoCallOC.go package main /* #include "test.h" #cgo C

    0зной

    1ответ

    Итак, я пытаюсь читать из stdin без оживленного ожидания, игнорируя EOF, поскольку клиенты в моем случае придут и уйдут. В C я бы использовал простой select() или poll(), но я пытаюсь изучить Go, и я

    2зной

    1ответ

    Я пытаюсь взаимодействовать с некоторым кодом C от Go. Используя cgo, это было относительно прямолинейно, пока я не попал в этот (довольно распространенный) случай: нужно передать указатель на структу

    1зной

    1ответ

    Я просто написать очень простую демонстрацию, чтобы протестировать загрузку разделяемой библиотеки с ОЦП (golang) .the кода следующим образом: xxx.h #pragma once void myprint(const char *str); xxx.

    2зной

    2ответ

    У меня есть функция C, вызывающая процедуру Go через cgo. Мне нужно запустить процедуру, чтобы правильно установить errno, чтобы поток C мог проверить его errno и действовать соответствующим образом.

    -1зной

    1ответ

    Существует не errors, но «не определяет тип имени для C.quit» Я связал общую библиотеку с #cgo LDFLAGS в моем проекте. Каковы возможные причины?

    2зной

    1ответ

    С Go 1.6 этот код: argc := len(*argv) c_argc := C.int(argc) c_argv := make([]*C.char, argc) for index, value := range *argv { c_argv[index] = C.CString(value) defer C.free(unsafe.Pointer