Публикации по теме '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 просмотров
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