我需要传递一些var:emscripten_set_main_loop_arg
。
在下面的例子中?
原型:
extern void emscripten_set_main_loop_arg (em_arg_callback_func func, void *arg, int fps, int simulate_infinite_loop);
怎么做?
void foo( int x,int y ) ;
int main ( void )
{
int x=10;
int y=10;
emscripten_set_main_loop_arg(foo, ?? , 60, 1); // ?? (void *)
while(1) { foo(x,y); } ;
return 0 ;
}
答案 0 :(得分:1)
您可以将指针传递给struct void*
。
#include <stdio.h>
#include <stdlib.h>
#include <emscripten.h>
typedef struct foo_arg {
int x;
int y;
} foo_arg;
void foo( void* arg_ ) {
foo_arg* arg = arg_;
printf("%d, %d\n", arg->x, arg->y);
}
int main ( void )
{
int x=10;
int y=100;
foo_arg* arg = (foo_arg*)malloc(sizeof(foo_arg));
arg->x = x;
arg->y = y;
emscripten_set_main_loop_arg(foo, arg , 60, 1);
return 0 ;
}