Вопросы по теме 'cgo'

Привязка Golang zmq, ZMQ4, возвращает ошибку пакета, не находящую файл zmq.h
Я пытаюсь включить сокеты ZMQ в приложение Go, но как zmq4, так и gozmq (упомянутые библиотеки привязки ZMQ для Go) вызывают у меня проблемы. Я хотел бы понять, почему zmq4 специально не импортируется в мою систему. Я использую систему Windows 8,...
3235 просмотров
schedule 04.09.2021

Как отлаживать / сбрасывать переменную Go при сборке с помощью cgo?
Я пытаюсь написать MySQL UDF в Go с помощью cgo, в котором у меня есть базовая функция, но есть небольшие кусочки, которые я не могу понять, потому что я понятия не имею, каковы некоторые из переменных C в терминах Go. Это пример, который я...
200 просмотров
schedule 19.11.2021

Создание CGO с новой версией Go on Travis
Мне нужно создать двоичный файл Go (1.13+ из-за модулей) с помощью Travis. Хитрость в том, что мне нужно использовать CGO. Таким образом, у меня есть language: cpp и конфиг Focal. Однако по умолчанию для Travis используется Go 1.11. Итак, я...
68 просмотров
schedule 16.10.2021

Избегайте пустой строки в документации экспортируемых функций cgo
Я пишу библиотеку на Go, которую я компилирую в нативную библиотеку с помощью CGo, однако, когда функции экспортируются, у них есть эта надоедливая пустая строка между объявлением функции и комментарием к документации. В качестве примера, скажем, у...
27 просмотров
schedule 12.03.2022

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

Ошибка связывания CGO: неопределенная ссылка на `MemoryFreeLibrary'
Я пытаюсь обернуть библиотеку C с помощью Go. Библиотека создается с помощью CMake и создает файл статической библиотеки. Я добавил материал #cgo в начало файла .go с правильными CFLAGS и LDFLAGS , однако я продолжаю получать ошибки...
2221 просмотров
schedule 18.07.2022

Тайм-аут длительного вызова функции cgo
В настоящее время я работаю над программой, которая вызывает долго работающую функцию, используя библиотеку c с cgo . Я не могу отредактировать библиотеку, чтобы разрешить тайм-ауты с помощью c. Мое единственное решение до сих пор состояло в том,...
227 просмотров
schedule 26.07.2022

Тип C NULL в CGO
У меня есть функция C, которая возвращает NULL при возникновении исключения. Как я могу проверить, является ли возвращаемое значение NULL или нет в Go, поскольку у него нет встроенных типов для представления C NULL. Ниже мой код retVal :=...
586 просмотров
schedule 10.08.2022

Определения макросов C в Cgo
Я хочу использовать существующие значения макросов из кода C в go. Используя псевдопакет import "C", мы можем импортировать перечисления, определенные в C. Есть ли способ импортировать макросы C? package main /* enum levels { low1,...
1891 просмотров
schedule 14.08.2022

CGO, как передать параметр NULL в функцию C
Иногда для C API может потребоваться указатель NULL. возможно ли это в CGO? Например, я хочу передать нулевой аргумент strcmp() в программе на языке Go: package strutil /* #include <stdlib.h> #include <string.h> */ import (...
7431 просмотров
schedule 19.08.2022

Go/CGo - как вы используете массив C, переданный в качестве указателя
Я публикую это как вопрос/ответ, так как мне потребовалось некоторое время, чтобы разобраться, и я не возражал бы против некоторых отзывов о моем решении. Как в Go/CGo работать с массивом C, переданным в качестве указателя? Например, с этой...
8933 просмотров
schedule 31.08.2022

Смущен тем, почему эта паника кода cgo
Я хочу написать демонстрацию об использовании функции golang call c, и я пишу эти файлы и обнаружил, что это вызовет панику, и я не знаю, почему. Во-первых, заголовочный файл c p.h : void output(char* str, int s); void cc(char *str);...
785 просмотров
schedule 02.09.2022

передача указателя функции на код C с помощью cgo
Начиная с Go v1.6 cgo изменил правила передачи указателей на код C golang/go#12416 . Пример вызова динамического обратного вызова Go из кода C из вики больше не работает. package main import ( "fmt" "unsafe" ) /* extern void...
9724 просмотров
schedule 16.09.2022

Связывание Windows DLL с помощью cgo
Моя конечная цель — успешно связать несколько DLL (opengl32.dll, glfw.dll и glu32.dll) из пакета Go, но попытка создать ссылку на пакет go-glfw привела к ошибке "не определено" . Поэтому я решил получить очень простую динамическую/разделяемую...
1578 просмотров
schedule 23.11.2022

Разве go не получает файлы, а затем cgo+go их создает? Очевидно нет
У меня проблема с созданием довольно простого локального проекта CGO. Рассмотрим этот очень маленький пакет CGO всего из 3 файлов (glut.go, support.c и support.h) -- если я просто получу их, эти файлы будут загружены в...
419 просмотров
schedule 22.04.2023

Можно ли создавать игры для Android на Go, используя NDK с cgo и/или SWIG или подобным?
Можно ли вообще использовать Go для создания игр для Android? Я не привязан к технологиям, упомянутым в теме письма. Я знаю, что некоторые люди создали несколько программ для Android на Иди, но они, возможно, были безголовыми.
459 просмотров
schedule 07.03.2023

Как использовать cgo в Goclipse с Mingw?
Когда я пытаюсь использовать cgo, я получаю сообщение об ошибке exec gcc: exec: "gcc": исполняемый файл не найден в %PATH% У меня установлен Mingw. Как мне сообщить Goclipse, где находится gcc? Я не мог найти способ установить это в настройках...
1703 просмотров
schedule 08.11.2022

Как вы статически слинкуете библиотеку c в go с помощью cgo?
Итак, в группе есть куча вещей, которые предполагают, что вы можете сделать это в go (хотя и не в документации cgo): package bridge import "fmt" // #cgo CFLAGS: -I/Users/doug/projects/c/go-bridge/include // #cgo LDFLAGS:...
47238 просмотров
schedule 29.04.2023

Можно ли сделать пакеты go файлами .so или .a?
Недавно я потратил некоторое время на cgo и на то, как писать код C в go. Кажется очень простым загрузить файл .so с помощью директив #cgo. Однако есть ли способы сделать это наоборот? То есть, можем ли мы собрать пакет go в файл .so или .a, чтобы...
180 просмотров
schedule 28.12.2022

Освобождение переменных C в Golang?
Я не понимаю, какие переменные нужно освобождать, если я использую переменные C в Go. Например, если я сделаю это: s := C.CString(`something`) Эта память теперь выделена до тех пор, пока я не вызову C.free(unsafe.Pointer(s)) , или это...
3027 просмотров
go c cgo
schedule 10.09.2023