Articles of cgo

CGO: ¿Cómo se utilizan los punteros en Golang para acceder a los datos de una matriz en C

Estoy escribiendo una aplicación para la plataforma de Windows usando FFmpeg y es Golang wrapper goav, pero tengo problemas para entender cómo usar los punteros C para obtener acceso a la matriz de datos a la que apuntan. Estoy tratando de obtener los datos almacenados en la clase AVFrame y usar Ir para escribirlos en […]

Función de Call Go con parámetro de cadena de C?

Puedo llamar a una función Go sin parámetros desde C, como se muestra a continuación . Esto se comstack a través de go build y imprimir Hello from Golang main function! CFunction says: Hello World from CFunction! Hello from GoFunction! main.go package main //extern int CFunction(); import “C” import “fmt” func main() { fmt.Println(“Hello from […]

¿Cómo escribo en un archivo en Golang utilizando un puntero a los datos de C?

Estoy escribiendo una aplicación para la plataforma de Windows usando FFmpeg y es Golang wrapper goav, pero tengo problemas para entender cómo usar los punteros C para obtener acceso a una matriz. Estoy tratando de escribir los datos del marco, señalado por un puntero uint8 desde C, a un archivo .ppm en Golang. Una vez […]

Cómo acceder a una matriz de punteros C desde Golang

Estoy escribiendo una aplicación para la plataforma de Windows usando FFmpeg y es Golang wrapper goav, pero tengo problemas para entender cómo usar los punteros C para obtener acceso a una matriz. Estoy tratando de hacer que las secuencias almacenadas en la clase AVFormatContext se utilicen en go, y eventualmente agregar marcos a una textura […]

Cómo pasar puntero a cortar a la función C en ir

Antecedentes: usando cgo para llamar a las funciones C desde Golang. Quiero usar una función C que tenga esta firma: int f(int *count, char ***strs) . Modificará los datos de count y strs , razón por la cual utiliza el puntero a ellos. El valor de count es la longitud de strs ; strs es […]

No se puede acceder a las variables c en cgo

Estoy tratando de acceder a la estructura en cgo, pero ve esto No se pudo determinar el tipo de nombre para C.utmpx utmpx es una estructura de ac Aquí está el código go: /* #include #include #include #include #include */ import “C” type record C.utmpx fd, err := os.Open(C._PATH_UTMPX) // this works fd, err := […]

¿Por qué el rendimiento de cgo es tan lento? ¿Hay algo mal con mi código de prueba?

Estoy haciendo una prueba: compare los tiempos de ejecución de cgo y las funciones puras de Go ejecutan 100 millones de veces cada una. La función cgo lleva más tiempo en comparación con la función de Golang, y estoy confundido con este resultado. Mi código de prueba es: package main import ( “fmt” “time” ) […]