Tag: CGO
Cuando se utiliza arm-linux-gnueabi-gcc para compilar cruzado, GOOS solo admite Linux y no admite Android. CGO_ENABLED=1 CGO_CFLAGS CC=arm-linux-gnueabi-gcc GOOS=linux GOARCH=arm go build -o hello . Después de compilar, se genera el archivo hello. file hello hello: ejecutable ELF de 32 bits, ARM, versión EABI5 1 (SYSV), enlazado dinámicamente, intérprete /lib/ld-linux.so.3, . . . Read more
Tengo un proyecto que utiliza go mod y CGO que tiene un árbol de dependencias relativamente grande. La construcción en forma nativa (GOOS=linux, GOARCH=amd64) funciona bien. La construcción en un entorno de integración continua (en mi propio runner) utilizando mi contenedor de compilación personalizado (varias arquitecturas, incluyendo arm) funciona en . . . Read more
Entonces, intenté ejecutar mi código Go en un proyecto C++ con carga dinámica. Funciona muy bien, excepto que hay una cadena no deseada en el valor devuelto. Como expliqué antes, obtuve algunas información no deseadas de Go. Mi código Go: package main import “C” func main() {} //export GetTestString func . . . Read more
Estoy utilizando una biblioteca de C desde Go, utilizando cgo para manejar la conversión. Tengo un archivo de encabezado de C que se ve así: #include <stdlib.h> typedef struct { k uint64_t; } params; Esta estructura se utiliza desde Go con código como este: package test /* #cgo CFLAGS: -g . . . Read more
Estoy trabajando en una pequeña aplicación de Go que utiliza Cgo. Estoy trabajando en una máquina virtual de Linux, y Linux es el entorno principal de destino. Sin embargo, tengo la necesidad de crear un ejecutable de Windows. Normalmente, la compilación cruzada de Go es trivial, pero Cgo agrega algunas . . . Read more