Advertisement
AntonioVillanueva

printf en go goland

May 9th, 2023
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.69 KB | None | 0 0
  1. /*
  2. En C, un argumento de función escrito
  3. como matriz de tamaño fijo , en realidad requiere un puntero al primer elemento de la matriz.
  4. Los compiladores de C conocen esta convención de llamada y ajustan la llamada en consecuencia, pero Go no puede.
  5. En Go, debe pasar el puntero al primer elemento de forma explícita: C.f(&C.x[0]).
  6.  
  7. No se admite la llamada a funciones de C variádicas. Es posible eludir esto usando una función C wrapper
  8. */
  9.  
  10. package main
  11.  
  12. //#include <stdio.h>
  13. //#include <stdlib.h>
  14. // static void myprint(char* s) {
  15. //   printf("%s\n", s);
  16. // }
  17. import "C"
  18. import (
  19.     "unsafe"
  20. )
  21.  
  22. func main() {
  23.     cs := C.CString("Hola")
  24.     C.myprint(cs)
  25.     C.free(unsafe.Pointer(cs))
  26.  
  27. }
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement