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