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

Могу ли я использовать cgo с Windows SDK?
Я только что попробовал tdm-gcc, и он работает, но можно ли использовать cgo с Windows SDK?
397 просмотров
schedule 24.04.2023

Использование библиотек Windows с cgo
Я пытаюсь создать пакет Go, который использует TagLib , и у меня возникли небольшие проблемы с определением как именно использовать скомпилированные библиотеки с cgo. Я скомпилировал TagLib, который выдал tag.dll , tag.exp и tag.lib в...
3454 просмотров
schedule 27.01.2023

Используйте вариативные функции C в Go
Я использую shm_open с cgo. shm_open определяется с 3 аргументами в Linux int shm_open(const char *name, int oflag, mode_t mode); тогда как в OSX (Darwin) флаг 3-го режима является необязательным. int shm_open(const char *name, int...
716 просмотров
schedule 11.03.2023

Обработчики файлов GoLang CGO
Я работаю с собственным бинарным файлом Linux C, который имеет довольно дорогой вызов инициализации, который я хотел бы выполнить один раз при запуске приложения. Этот вызов должен открыть кучу внутренних дескрипторов файлов для последующего...
925 просмотров
schedule 20.04.2023

Вызов функции c, порядок импорта fmt, импорт C вызывает ошибку сборки, почему?
У меня есть следующий простой тестовый код: call_c.go package main /* int getData(int *p, int n ) { int i; for(i=0;i<n;i++) { p[i]=i; } return n; } */ import "C" import "fmt" func main() { var a [5]int32 i...
415 просмотров
schedule 28.07.2022

Как добавить файлы C в подкаталог как часть сборки go, используя псевдодирективы CGO?
Согласно документам, go build с cgo добавит любые файлы C/C++ в корень пакета как часть компиляции. Есть ли способ сделать файлы C/C++ в заданном подкаталоге также частью компиляции, а также файлы в корне, используя директивы CGO?
932 просмотров
schedule 25.10.2023

Cgo + windows + mingw-w64: извините, не реализовано: 64-битный режим не скомпилирован
При попытке установить suapapa/go_sass в Windows 8.1 с помощью команды: go get github.com/suapapa/go_sass Я столкнулся с этой ошибкой: cc1.exe: извините, не реализовано: 64-битный режим не скомпилирован Согласно stackoverflow и...
3335 просмотров
schedule 16.03.2024

Невозможно включить необходимые заголовочные файлы C для программы go
Я пытаюсь включить файл заголовка, который существует в /usr/local/WordNet-3.0/include/, в мою программу go используя эти флаги // #cgo CFLAGS: -I/usr/local/WordNet-3.0/include // #cgo LDFLAGS: /usr/local/WordNet-3.0/lib/libWN.3.dylib /*...
4587 просмотров
schedule 13.05.2024

Есть ли способ включить несколько пакетов c-archive в один двоичный файл?
Я пытаюсь включить несколько пакетов Go c-archive в один двоичный файл C, но получаю несколько ошибок определения из-за того, что в каждый c-архив включена полная среда выполнения. Я пытался поместить несколько пакетов в один и тот же c-архив, но...
555 просмотров
schedule 15.11.2023

Преобразование Go[]byte в C *char
У меня есть byte.Buffer, в который я упаковываю данные с помощью функции binary.Write(). Затем мне нужно отправить этот массив байтов в функцию C. Используя Go 1.6, мне не удалось это понять. buf := new(bytes.Buffer) //create my buffer .......
15483 просмотров
schedule 11.10.2023

Определить переменную в cgo
Я хочу во время сборки определить строковую переменную в cgo. Ни один из следующих подходов не работает. #cgo CFLAGS: -DLOG="common" 'обычный' необъявленный (первое использование в этой функции) #cgo CFLAGS: -DLOG=common...
736 просмотров
schedule 29.01.2023

golang cgo не может экспортировать переменные в режиме сборки c-shared
Я пытаюсь разработать в cgo плагин sudo. https://www.sudo.ws/man/1.8.15/sudo_plugin.man.html экспортировать структуру в глобальную область применения policy_plugin. Плагин политики должен объявлять и заполнять структуру policy_plugin...
1170 просмотров
schedule 11.10.2023

Golang LD_PRELOAD для перехвата SSL_read и SSL_write
Отказ от ответственности, я очень новичок в Golang, так как я использовал следующую статью в качестве основы для этого https://blog.gopheracademy.com/advent-2015/libc-hooking-go-shared-libraries/ Я пытаюсь написать библиотеку LD_PRELOAD, которая...
1257 просмотров
schedule 15.11.2022

Как скопировать строку Go в C char * через CGO в golang?
Я хочу скопировать строку Go в char * через CGO. Могу ли я сделать это что-то вроде этого? func copy_string(cstr *C.char) { str := "foo" C.GoString(cstr) = str }
10185 просмотров
schedule 11.04.2024

Вызвать функцию Go со строковым параметром из C?
Я могу вызвать функцию Go без параметров из C, см. ниже . Это компилируется через go build и печатает Hello from Golang main function! CFunction says: Hello World from CFunction! Hello from GoFunction! main.go package main //extern...
2705 просмотров
go c cgo
schedule 11.02.2024

Как вернуть массив C-структуры из C-функции?
У меня есть функция C, которая вернет массив структуры для перехода к функции. Как я могу получить массив структуры и интерпретировать или преобразовать структуру? Вот фрагмент кода typedef struct student{ nameStruct name;...
1391 просмотров
schedule 05.08.2022

Как освободить память, выделенную C.CString?
Вот мой код: helloworld.go : package main import "C" import "unsafe" //export HelloWorld func HelloWorld() *C.char { cs := C.CString("Hello World!") C.free(unsafe.Pointer(cs)) return cs } func main() {} Одна из ошибок,...
2080 просмотров
schedule 17.01.2024

Обобщенная функция для передачи массива символов из C в Go
Я пытаюсь скопировать содержимое структуры в Go type test struct { a string b string } к структуре С. typedef struct { char a[10]; char b[75]; }test_c; Мое требование не позволяет мне изменять структуру типов членов...
490 просмотров
schedule 25.09.2023

Как записать в файл в Golang, используя указатель на данные C?
Я пишу приложение для платформы Windows, используя FFmpeg и его goav-оболочку golang, но у меня возникают проблемы с пониманием того, как использовать указатели C для получения доступа к массиву. Я пытаюсь записать данные кадра, на которые...
1023 просмотров
schedule 14.01.2024

Приведение указателя C к Go и обратно
Я пишу приложение для платформы Windows, используя FFmpeg и его goav-оболочку golang, но у меня возникают проблемы с пониманием того, как передавать указатели C между C и Go. Я удалил все соответствующие части кода C, оболочки и моего кода, как...
1343 просмотров
schedule 18.11.2023