Публикации по теме 'cgo'


Использование OpenCV 3 из #golang
Го - отличный язык. Он похож на C, но при его использовании вы не чувствуете тяжести истории. Вы можете мгновенно использовать json , карты или параллелизм , настроить и запустить веб-сервер за секунды или даже повторно использовать свой код C из программы Go. Лучше всего то, что строительство и доставка - это несложно. Но когда вам нужно использовать OpenCV, вы сталкиваетесь с дилеммой. Вы используете OpenCV 2.4, который устарел, но имеет привязки C, поэтому его можно..

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

cgo - Как преобразовать строку go в LPCWSTR
Я хотел бы использовать некоторые API Windows, но я понятия не имею, как начать. Есть ли какой-нибудь учебник для него? В любом случае у меня есть простой код. Не могли бы вы помочь мне сделать это правильно? package mypackage /* #cgo...
2301 просмотров
schedule 02.08.2023

Golang (cgo) — произвольный интерфейс void*
Я оборачиваю библиотеку C, имеющую структуру с полем данных void*, которое можно использовать для произвольного хранения данных. Как лучше всего (если это вообще возможно) обернуть это в идиоматический Go? Структура довольно проста: typedef...
4491 просмотров
schedule 06.06.2023

От []byte до char*
Я хочу обернуть функцию C, которая принимает char* , указывающую на (первый элемент) непустой буфер байтов. Я пытаюсь обернуть это в функцию Go, используя CGo, чтобы передать []byte , но я не знаю, как выполнить преобразование. Упрощенная версия...
5142 просмотров
schedule 24.06.2022

Связывание Golang с XLib
Я пытаюсь использовать XLib в Go, используя этот код: package main // #cgo LDFLAGS: -lX11 // #include <X11/Xlib.h> import ( "C" "fmt" ) func main() { var dpy = C.XOpenDisplay(nil); if dpy == nil { panic("Can't open...
2309 просмотров
schedule 13.12.2022

Как мне предоставить доступ к библиотеке, которую я оборачиваю с помощью cgo?
Я пытаюсь написать привязки для библиотеки C, в частности для libnfc . Мой текущий код доступен на Github . Одной из центральных структур libnfc является устройство. Он представлен типом Go Device . type Device struct { d...
112 просмотров
schedule 31.08.2022

golang cgo: значения обработчика libevent устанавливаются равными нулю во время выполнения
я работаю над переносом этого C API на https://github.com/shammash/vde3 , в библиотеке есть собственный цикл событий, который использует libevent, я использую CGO. библиотеке требуется полный vde_event_handler, составленный таким образом...
805 просмотров
schedule 17.11.2022

Маршаллинг объектов C, к которым нельзя получить доступ из Go
Есть некоторые объекты C, такие как объединения, структуры, содержащие битовые поля, и структуры, выравнивание которых отличается от ABI Go, к которым нельзя получить доступ из Go. Некоторые из этих структур нельзя изменить, чтобы они были доступны...
734 просмотров
schedule 03.05.2024

связывание сторонних статических библиотек в библиотеке cgo
У меня есть библиотека Go, которая предоставляет привязки для библиотеки C++ OpenImageIO ( OpenImageiGO ). Я с удовольствием создавал свои привязки с помощью стандартной динамической привязки к libOpenImageIO, но теперь пытаюсь привязать...
3012 просмотров
schedule 29.07.2023

Правильный тип Go для перехода к функции C?
Я переношу серверный код, написанный на C, на Go, и он использует библиотеку шифрования, которую я действительно не хочу переписывать. Вместо этого я пытаюсь использовать Cgo для написания оболочки, чтобы остальная часть моего кода могла легко ее...
1177 просмотров
schedule 09.09.2022

Как использовать относительный путь для LDFLAGS в golang
Я пытаюсь создать программу golang, которая использует статическую библиотеку (файл .a) структура каталога для моего проекта, как показано ниже └─testserver ├─bin ├─pkg └─src ├─logging └─testserver...
12250 просмотров
schedule 21.06.2023

golang: CGO/clang с sqlite3.c
Я хотел бы скомпилировать для запуска на OSX. С помощью следующей команды: GOOS=linux GOARCH=arm CGO_ENABLED=1 go build -o foo main.go Но я получаю: runtime/cgo clang: error: аргумент не используется во время компиляции: '-mno-thumb' Я...
2246 просмотров
schedule 24.02.2023

Почему мой кросс-компилированный двоичный файл CGO не запускается на Raspberry Pi (Raspbian)?
Когда я компилирую следующий фрагмент кода ( ссылка на игровую площадку ): package main /* #cgo LDFLAGS: -lbluetooth #include <bluetooth/bluetooth.h> #include <bluetooth/hci.h> #include <bluetooth/hci_lib.h> */ import "C" func...
1958 просмотров
schedule 11.11.2022

Ассемблер, используемый golang при сборке с cgo и без него
Допустим, у меня есть пакет golang, содержащий некоторый ассемблерный код: demopkg/ source1.go source2.go asm_amd64.s Если я попытаюсь собрать его с помощью go build , набор инструментов будет использовать go tool asm для сборки...
482 просмотров
schedule 25.11.2022

Преобразование строки Go в строку C без CGo
Я пытаюсь вызвать некоторые ioctl из Go, и некоторые из них принимают строки C в качестве параметров. Например, в С: /* When the user asks to bind a message name to an interface, they use: */ struct kbus_bind_request { __u32 is_replier; /*...
596 просмотров
schedule 30.06.2023

Преобразование указателя C в Go Slice
Я новичок в языке Go, и у меня есть проблема, связанная с преобразованием указателя C void в фрагмент байта Go. Есть такая C функция cCallback . Это вызывает экспортированную функцию Go myStreamCallback int cCallback(const void...
74 просмотров
go c cgo
schedule 27.11.2022

Как сделать обратный вызов метода GO из C++ DLL
У меня есть программа GO с функцией, которая вызывает CGO для метода c, определенного в dll. Эта часть отлично работает. Теперь мне нужно сделать обратный вызов из моей dll в GO. Возможно ли это, какие-либо вспомогательные указатели? Обратите...
1412 просмотров
schedule 16.01.2024

Нужно ли освобождать структуры, созданные с помощью Cgo?
Я создаю структуры C в своем коде Go, например: var data C.MyStruct_t Должен ли я в какой-то момент освобождать их вручную, как при использовании CString? С CString я часто делаю что-то вроде: ctitle := C.String(title) defer...
612 просмотров
schedule 28.03.2023

как я могу получить указатель данных строковой переменной в go?
Я хочу получить указатель данных строковой переменной (например, string::c_str() в С++) для передачи функции c, и я обнаружил, что это не работает: package main /* #include <stdio.h> void Println(const char* str) {printf("%s\n", str);} */...
242 просмотров
schedule 10.05.2024

cgo, используя массив c struct и присваивая значение в go
У меня проблема при использовании cgo с массивом структур c. Моя программа выглядит следующим образом: У меня есть структура в c и содержит указатель на массив структур c. В C я предоставляю функцию инициализации (принимаю два параметра:...
2796 просмотров
schedule 10.12.2022

Как использовать обратный вызов Go для DLL с минимальным Cgo?
Один из способов настроить функцию обратного вызова для передачи в параметр функции DLL — использовать CGO... package main /* #cgo LDFLAGS: -L${SRCDIR} -lsomelib #include "somelib.h" extern void CallbackString(char* s); */ import "C" import (...
1838 просмотров
schedule 07.09.2022