symbols.go raw

   1  package main
   2  
   3  /*
   4  // Function signatures.
   5  int foo(int a, int b);
   6  void variadic0();
   7  void variadic2(int x, int y, ...);
   8  static void staticfunc(int x);
   9  
  10  // Global variable signatures.
  11  extern int someValue;
  12  
  13  void notEscapingFunction(int *a);
  14  
  15  #cgo noescape notEscapingFunction
  16  */
  17  import "C"
  18  
  19  // Test function signatures.
  20  func accessFunctions() {
  21  	C.foo(3, 4)
  22  	C.variadic0()
  23  	C.variadic2(3, 5)
  24  	C.staticfunc(3)
  25  	C.notEscapingFunction(nil)
  26  }
  27  
  28  func accessGlobals() {
  29  	_ = C.someValue
  30  }
  31