MuJS是一款支持嵌入式开发的轻量级javascript解释器。
javascript主要是针对web开发的脚本语言,所以主要借助浏览器来调试;但mujs针对的是嵌入式开发,调试时的交互主要靠输入输出终端,javascript本身是不支持的,所以需要调用c语言的打印函数来实现。
下面给出两个例子,一个是普通输出,符合脚本语言的解释性语言的特点,不考虑变量的类型;另一个是简单的格式化输出。前一个例子是mujs开源包中main.c的例子,拿来做参考。
1.普通输出
print.c
#include <stdio.h>
#include <mujs.h>
static void jsB_print(js_State *J)
{
int i, top = js_gettop(J);
for (i = 1; i<top; ++i)
{
const char *s = js_tostring(J, i);
if(i>1)
{
putchar(' ');
}
fputs(s, stdout);
}
putchar('\n');
js_pushundefined(J);
}
void main(void)
{
js_State *J = js_newstate(NULL, NULL, JS_STRICT);
js_newcfunction(J, jsB_print, "