Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- /*
- // #cgo LDFLAGS: -L. -lmylib
- #include "mylib.h"
- */
- import "C"
- import "fmt"
- func main() {
- // Llamar a la función "my_function" con los parámetros necesarios
- arg1 := C.int(10)
- arg2 := C.int(11)
- ret := C.my_function(arg1, arg2)
- fmt.Printf("Resultado: %d\n", int(ret))
- //Test 2 char * my_function2(char * arg1,char * arg2){
- arg3 := C.CString("Hola")
- arg4 := C.CString(" Tony")
- res := C.my_function2(arg3, arg4)
- fmt.Printf("Resultado: %s\n", C.GoString(res))
- }
- //mylib.h
- /*
- #ifndef MYLIB_H
- #define MYLIB_H
- int my_function(int arg1, int arg2);
- char * my_function2(char * arg1,char * arg2);
- #endif
- */
- //mylib.c
- /*
- #include "mylib.h"
- #include <stdlib.h>
- #include <string.h>
- //compilar la libreria dinamica so asi gcc -shared -o mylib.so mylib.c
- int my_function(int arg1, int arg2){
- return arg1+arg2;
- }
- char * my_function2(char * arg1,char * arg2){
- char* resultado = malloc(strlen(arg1) + strlen(arg2) + 1);
- strcpy(resultado, arg1);
- strcat(resultado, arg2);
- return resultado;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement