我试图在C ++中嵌入Racket,我该如何完成这样的事情
Scheme_Object* c_function(int argc, Scheme_Object** objects) {
printf("a c function with %d args", argc);
return scheme_null;
}
scheme_eval_string("(c_function)", env); // c_function undefined
我尝试scheme_make_prim_w_arity
,但似乎我可以使用scheme_apply
。
答案 0 :(得分:0)
scheme_eval_string
与Racket中的其他形式的eval
一样,在特定的名称空间上运行,并且无法找到那些不可用的函数或其他绑定命名空间。你应该:
eval
和名称空间。eval
- 它几乎总是错误的工具。