aboutsummaryrefslogtreecommitdiff
path: root/examples/learn/23-c-abi.zc
blob: 3df4b7565a07899ae56a15f559c7b4124384c94f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
fn put_f(x) { asm { x @ #1220 } return 0; }
extern double sqrt(double);
extern void qsort(word *base, long n, long size, void *cmp);
int cmp(int* a, int* b) { return *a - *b; }
fn main() {
	let a[4];
	a[0] = 5; a[1] = 3; a[2] = 9; a[3] = 1;
	put_f(sqrt(2.0)); put_c(10);
	qsort(a, 4, 8, cfunc(cmp));
	put_n(a[0]); put_c(32); put_n(a[1]); put_c(32); put_n(a[2]); put_c(32); put_n(a[3]); put_c(10);
	return 0;
}