我通过Emscripten wiki ()发现,使用ccall或cwrap从javascript调用的C函数在被传递或返回字符串时应该将char*作为参数或返回类型。我对C语言不是很有经验(我的项目的其余部分都是用C++写的),但我知道你通常必须手动释放C语言中的动态字符串。当将字符串从javascript传递到C函数时是这样的吗?如果是这样的话,应该怎么做呢?
我最近注意到我的一个同事在做for (int i = 0; i < len; ++i)我知道这在C中被认为是很好的实践,在C中,strlen()在O(length_of_string)中运行。但我希望较新的语言(比如Java或Python)将字符串的长度与字符一起存储,从而允许length()以O(1)的速度运行。我通常这样写:
for (int i = 0; i < foo.len