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