Tag: CGO
Estoy tratando de escribir una función en Go que devuelve un byte[] y usarla en C. Este es el archivo main.go: package main import “C” import ( “unsafe” ) //export hello func hello() *C.char { buff := []byte{1, 2, 3} res := unsafe.Pointer(&buff) result := (*C.char)(res) return result } func . . . Read more
Estoy tratando de llamar a una biblioteca en C desde GO utilizando cgo. La biblioteca en C tiene la siguiente función: int receive(void** data); // Yo lo llamaría así: void* myptr; // myptr=null int nbBytes = receive(&myptr); if (nbBytes==0) { return } // myptr ahora tiene la dirección de un . . . Read more
Quiero iterar sobre todas las bibliotecas de enlace de un objetivo objetivo para construir una lista de todos los binarios de bibliotecas (bibliotecas estáticas) a las que enlaza el objetivo, por ejemplo: cmake add_executable(exe main.cpp) target_link_libraries(exe fmt::fmt otherExe) Deseamos una lista de todos los archivos binarios de bibliotecas (usando $<TARGET_LINKER_FILE:tgt>) . . . Read more
Mi sistema operativo es Kali, ejecutando GLIBC 2.32. Necesito construir una aplicación CGO para un sistema debian 10, que está ejecutando GLIBC 2.28. Si ejecuto “go build” con enlace dinámico, no se puede ejecutar en el sistema debian, muestra una incompatibilidad con GLIBC: versión `GLIBC_2.29` no encontrada versión `GLIBCXX_3.4.29` no . . . Read more
Por ejemplo, en el archivo go, el MYNUM: //#cgo CFLAGS: -DMY</em>NUM=3 /* int multiple(int x) { return x * MY_NUM; } */ import “C” <p>…. Pero a menudo cambiaré el valor de MY_NUM. Por lo tanto, quiero cambiarlo en el comando de compilación. ¿Cómo puedo definirlo en la línea de . . . Read more