ts2c是将JS/TS代码生成可读的C89代码的转译工具。
这个项目背后的主要动机是解决物联网和可穿戴设备目前无法用JavaScript有效编程的问题。问题是,对于可持续的物联网设备来说,单电池可以工作很长时间,树莓派这样的东西是不可能的。你将不得不使用低功耗的微控制器,通常只有很少的内存可用。 RAM从512字节到120KB不等,ROM/Flash从1KB到4MB不等。在这种情况下,即使是优化过的JS解释器,如JerryScript, Espruino或V7有时也会带来太多的开销,通常会导致电池消耗增加,或者不会给你的程序留下太多的系统资源。
当然,编译器不能100%映射JavaScript语言,有些东西必须被忽略,特别是eval。不过,目前的结论是,翻译大部分语言是可能的。
例如下面的 JavaScript 代码
console.log("Hello world!");
可被转译为 C 代码
#includeint main() { printf("Hello world!\n"); return 0; }