mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-17 03:12:22 -07:00
73 lines
1.1 KiB
Odin
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();
|
|
}
|
|
*/
|