diff options
Diffstat (limited to 'examples/learn/23-c-abi.zc')
| -rw-r--r-- | examples/learn/23-c-abi.zc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/examples/learn/23-c-abi.zc b/examples/learn/23-c-abi.zc index 3df4b75..134e926 100644 --- a/examples/learn/23-c-abi.zc +++ b/examples/learn/23-c-abi.zc @@ -1,12 +1,13 @@ -fn put_f(x) { asm { x @ #1220 } return 0; } +namespace; +include rt; +void put_f(float x) { asm { x @ #1220 } } 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); + put_f(sqrt(2.0)); rt.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; + rt.put_n(a[0]); rt.put_c(32); rt.put_n(a[1]); rt.put_c(32); rt.put_n(a[2]); rt.put_c(32); rt.put_n(a[3]); rt.put_c(10); } |
