Cómo usar código C++ en Go: llamar funciones y clases de C++ a través de C
¡Hola a todos! Llevo escribiendo en Go aproximadamente un año, y ahora me enfrenté a una tarea que me dejó perplejo. Tengo una gran biblioteca en C++ que implementa una lógica compleja de procesamiento de imágenes. Quiero usarla en mi proyecto de Go, pero no sé cómo organizar correctamente la llamada a funciones de C++ desde Go.
Leí que Go puede interactuar con C a través de cgo, pero C++ es una historia completamente diferente. Intenté escribir un ejemplo simple: hay una clase ImageProcessor en C++ con un método process() que recibe un array de bytes y devuelve un resultado. Creé un wrapper en C, pero durante el enlace aparecen errores "undefined reference". Aquí está un ejemplo de mi código:
```go
package main
/*
#include "image_processor.h"
*/
import "C"
import "fmt"
func main() {
data := []byte{1, 2, 3, 4, 5}
result := C.process_image(&data[0], C.int(len(data)))
fmt.Println(result)
}
```
Y el archivo de cabecera de C++:
```cpp
// image_processor.h
class ImageProcessor {
public:
int process(unsigned
No answers yet.
Inicia sesión para dejar una respuesta