【发布时间】:2020-06-09 16:24:06
【问题描述】:
我想从我的 C 应用程序中检索我刚刚在 Julia 中设置的全局变量 x。
这是我到目前为止的代码:
#include <julia.h>
void SimpleExecute(char *command, char *resultVar, char* result) {
jl_eval_string(command);
jl_value_t *var = jl_get_global(jl_base_module, jl_symbol(resultVar));
const char *str = jl_string_ptr(var);
sprintf(result, "%s", str);
}
int main(int argc, char *argv[])
{
char* result = malloc(sizeof(char) * 1024);
jl_init();
//(void)jl_eval_string("println(sqrt(2.0))"); //works
(void)SimpleExecute("x=sqrt(2.0)", "x", result);
jl_atexit_hook(0);
return 0;
}
但是调试器显示var 在jl_get_global 调用之后仍然是NULL。为什么?
我关注了this tutorial,但它没有涉及任意变量检索。 Source code 显示类似的用法。
【问题讨论】:
标签: c julia read-eval-print-loop