Return to libcc.fs CVS log | Up to [gforth] / gforth / test |
more libcc.fs tests documented C interface (libcc) lib.fs now aborts if neither libffi nor ffcall are available (oldlib.fs is incompatible)
1: require libcc.fs 2: 3: \c #include <string.h> 4: \c #include <stdlib.h> 5: 6: c-function strlen strlen a -- n 7: cr s\" fooo\0" 2dup dump drop .s strlen cr .s drop cr 8: c-function labs labs n -- n 9: 10: \c #define _FILE_OFFSET_BITS 64 11: \c #include <sys/types.h> 12: \c #include <unistd.h> 13: c-function dlseek lseek n d n -- d 14: 15: cr s\" fooo\0" 2dup dump drop .s strlen cr .s drop cr 16: -5 labs .s drop cr 17: 18: \c #include <stdio.h> 19: c-function printf-nr printf a n r -- n 20: c-function printf-rn printf a r n -- n 21: s\" n=%d r=%f\n\0" drop -5 -0.5e fp@ hex. cr printf-nr . cr 22: s\" r=%f n=%d\n\0" drop -0.5e -5 printf-rn . cr 23: 24: \c #define printfull(s,ull) printf(s,(unsigned long long)ull) 25: c-function printfull printfull a n -- n 26: s\" ull=%llu\n\0" drop -1 printfull . cr 27: s\" ull=%llu r=%f\n\0" drop -1 -0.5e printf-nr . cr