如何使C函数对Racket可见 我试图在C++中嵌入球拍,我怎样才能完成这样的事情 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

如何使C函数对Racket可见 我试图在C++中嵌入球拍,我怎样才能完成这样的事情 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,racket,Racket,我尝试了scheme\u make\u prim\u w\u arity,但似乎我可以使用scheme\u apply。scheme\u eval\u string,就像Racket中的其他形式的eval一样,在特定的名称空间上操作,并且无法找到这些名称空间中不可用的函数或其他绑定。你应该: 了解eval和名称空间 不要使用eval——它几乎总是错误的工具

我尝试了
scheme\u make\u prim\u w\u arity
,但似乎我可以使用
scheme\u apply

scheme\u eval\u string
,就像Racket中的其他形式的
eval
一样,在特定的名称空间上操作,并且无法找到这些名称空间中不可用的函数或其他绑定。你应该:

  • 了解
    eval
    和名称空间
  • 不要使用
    eval
    ——它几乎总是错误的工具