loader: support global variables in CGo (#173)

Global variables (like functions) must be declared in the import "C" preamble and can then be used from Go.
This commit is contained in:
Ayke
2019-02-08 13:04:03 +01:00
committed by Ron Evans
parent 7dd5839f47
commit 01f6aff422
8 changed files with 92 additions and 34 deletions
+2
View File
@@ -1,5 +1,7 @@
#include "main.h"
int global = 3;
int fortytwo() {
return 42;
}
+1
View File
@@ -16,4 +16,5 @@ func main() {
println("myint size:", int(unsafe.Sizeof(x)))
var y C.longlong = -(1 << 40)
println("longlong:", y)
println("global:", C.global)
}
+1
View File
@@ -1,2 +1,3 @@
typedef short myint;
int add(int a, int b);
extern int global;
+1
View File
@@ -3,3 +3,4 @@ add: 8
myint: 3 5
myint size: 2
longlong: -1099511627776
global: 3