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

golang: cgo extern не работает
Я пытаюсь запустить cgo для golang со следующим примером (приведенным на go-wiki -> Глобальные функции ): foo.go файл: package gocallback import "fmt" /* #include <stdio.h> extern void ACFunction(); */ import "C" //export...
2823 просмотров
schedule 11.10.2022

Как преобразовать массив строк Go в массив строк C?
Я использую cgo в проекте и хочу экспортировать функцию для использования. Вот пример того, чего я хочу достичь: package csplit import ( "C" "strings" ) //export Split /* The Split function takes two C strings, the second of which...
2856 просмотров
schedule 12.06.2024

Правило передачи указателя Cgo для фрагмента строки указателя (*[]string)?
Могу ли я передать *[]string в C из Go, а затем append в фрагмент строки, или это нарушает спецификация передачи указателя ? Код Go может передать указатель Go на C при условии, что память Go, на которую он указывает, не содержит...
823 просмотров
schedule 01.10.2022

Происходит ли гонка данных при использовании cgo?
Горутины работают в разных стеках для cgo и go: C ничего не знает о соглашении о вызовах Go или растущих стеках, поэтому вызов кода C должен записывать все детали стека goroutine, переключаться на стек C и запускать код C, который не знает, как...
353 просмотров
schedule 05.04.2024

Создание статических двоичных файлов из кода Go и C/C++ (с использованием cgo)
Я разрабатываю приложение на Go, которое должно вызывать код C++ моей компании. На данный момент я успешно добился следующего: Написанные оболочки C, которые позволяют создавать экземпляры объектов C++. Скомпилировал мой новый код C/C++ в...
170 просмотров
schedule 07.11.2022

Как перехватывать исключения библиотеки C/C++ в коде Go
Я использую Cgo для доступа к библиотеке C/C++ в коде Go и обнаружил несколько журналов исключений, например: fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x90 pc=0x7ff0fbdc23ff]...
186 просмотров
schedule 04.01.2024

Произошла ошибка `undefined reference` при связывании динамической библиотеки C++ с CGO
Я использую динамический libaray, написанный на С++, в моем коде Go следующим образом: /* #cgo CFLAGS: -I include #cgo LDFLAGS: -L lib -ldemo #include "demo.h" */ import "C" func main() { C.demo() // demo function in c++...
35 просмотров
schedule 01.12.2023