Вопросы по теме '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 просмотров
schedule
10.09.2023