Mercurial > hg > CbC > CbC_gcc
view CbC-examples/tmpa.c @ 103:edcadcec937d
modify __rectype
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 23 Mar 2012 17:11:33 +0900 |
parents | 365b84b6fe04 |
children |
line wrap: on
line source
#define __environment _CbC_environment #define __return _CbC_return #include <stdio.h> struct enemy{ int charno; // image number float x; // x location float y; // y location int ap; // armor point }; void print_param(struct enemy *e) { printf("#0014:charno:%d x,y:%f,%f hp:%d\n", e->charno,e->x,e->y,e->ap); } typedef struct{ char dest; int VF01[4]; __code (*ret)(); void *env; } interface; __code a0(interface a) { printf("#0026:%d\n",a.dest); goto a.ret(0,a.env); } int main(int argc,char *argv[]) { struct enemy e; #if 0 interface args = {15,{0,0,0,0},return,environment}; #else interface args = {15,{0,0,0,0},0,0}; args.ret = __return; args.env = __environment; #endif e.charno=5; e.x=50.0; e.y=30.0; e.ap=100; print_param(&e); printf("#0045:%d %d\n",args.VF01[2],args.VF01[1]); goto a0(args); }