[英]Can Emscripten be used to port a C library to a plain old JavaScript module?
[英]Is there a JavaScript port of the functions in the C standard library?
我正在将一些 C 代码移植到 JavaScript。我不想自己实现像strcspn
这样的基本功能
const strcspn = (a, b) => {
for (let [index, c] of [...a].entries()) {
if (b.includes(c)) {
return index
}
}
return a.length
}
有没有我可以从中复制或可以导入的项目?
Javascript 中没有库提供与 C 标准库相同的功能(至少我知道)。
所以你必须自己重写函数(不是特别困难,因为 Javascript 有很多内置函数可以帮助你)。
更好的是:不要在 Javascript 中使用 C 标准函数:直接修改 C 代码,以便编写更地道的 Javascript 代码。 我的意思是说:
// a C code that uses `strtok()` to split a string may be rewritten in JS as:
const splitted = str.split(" ");
// it's cleaner and you don't need to rewrite `strtok()` in JS
注意:您对strcspn()
的实现是错误的。 Javascript 中的正确实现是:
function strcspn(dest, src) {
let res = 0;
for (let i = 0; i < dest.length; i += 1) {
if (src.includes(dest.charAt(i))) {
break;
}
res += 1;
}
return res;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.