Files
Odin/code/demo.odin
T

73 lines
1.1 KiB
Odin

#import "atomic.odin";
#import "fmt.odin";
#import "hash.odin";
#import "math.odin";
#import "mem.odin";
#import "opengl.odin";
#import "os.odin";
#import win32 "sys/windows.odin";
#import "sync.odin";
#import "utf8.odin";
main :: proc() {
b : [1000]byte;
using fmt;
println();
println("Pointer of Address 0");
println(^b[0]);
println();
println("Pointer of Address 50");
println(^b[50]);
println();
println("Difference between 50 and 0");
println(^b[50] - ^b[0]);
}
/*
foo :: proc(x: ^i32) -> (int, int) {
fmt.println("^int");
return 123, cast(int)(x^);
}
foo :: proc(x: rawptr) {
fmt.println("rawptr");
}
THINGI :: 14451;
THINGF :: 14451.1;
a: i32 = #line;
b: f32;
c: rawptr;
fmt.println(foo(^a));
foo(^b);
foo(c);
// foo(nil);
atomic.store(^a, 1);
foo :: proc() {
fmt.printf("Zero args\n");
}
foo :: proc(i: int) {
fmt.printf("int arg, i=%d\n", i);
}
foo :: proc(f: f64) {
i := cast(int)f;
fmt.printf("f64 arg, f=%d\n", i);
}
foo();
// foo(THINGI);
foo(THINGF);
foo(cast(int)THINGI);
fmt.println(THINGI);
fmt.println(THINGF);
f: proc();
f = foo;
f();
}
*/