如何在 Cheerp 中保留变量名称(一个 C++ 到 JavaScript 的转译器)
How to preserve variable name in Cheerp (a C++ to JavaScript transpiler)
我正在使用 Cheerp (https://www.leaningtech.com/cheerp/) 将一些 C++ 代码转换为 JavaScript。
有没有保留变量名的选项?看起来名字总是乱七八糟
原始 C++ 代码:
void myClass::myMethod(int32_T myParam, boolean_T *rty_Result)
{
switch (myParam) {
case Mycase1:
case Mycase2:
case Mycase3:
case Mycase4:
case Mycase5:
*rty_Result = true;
break;
case Mycase6:
*rty_Result = (filter.field1.field2 == 1);
break;
default:
*rty_Result = false;
break;
}
}
Cheerp 的输出:
function __ZN8JsBridge12AvailabilityEP9bFilter_Ti(Lthis,filter,myParam){
var tmp0=0;
switch(myParam|0){
case 5:
{
tmp0=filter.a3.i2|0;
return (((tmp0|0)===1?1:0)?1:0)|0;
break;
}
case 1:
case 2:
case 4:
case 6:
case 3:
{
return 1|0;
break;
}
default:{
return 0|0;
break;
}
}
}
我在文档中找不到任何选项:
https://github.com/leaningtech/cheerp-meta/wiki
你可以尝试传递选项:
-cheerp-pretty-code
来源:https://github.com/leaningtech/cheerp-meta/wiki/JavaScript-interoperability#clobbering-names
如果这不起作用,那么我很确定这很遗憾无法实现。
我正在使用 Cheerp (https://www.leaningtech.com/cheerp/) 将一些 C++ 代码转换为 JavaScript。 有没有保留变量名的选项?看起来名字总是乱七八糟
原始 C++ 代码:
void myClass::myMethod(int32_T myParam, boolean_T *rty_Result)
{
switch (myParam) {
case Mycase1:
case Mycase2:
case Mycase3:
case Mycase4:
case Mycase5:
*rty_Result = true;
break;
case Mycase6:
*rty_Result = (filter.field1.field2 == 1);
break;
default:
*rty_Result = false;
break;
}
}
Cheerp 的输出:
function __ZN8JsBridge12AvailabilityEP9bFilter_Ti(Lthis,filter,myParam){
var tmp0=0;
switch(myParam|0){
case 5:
{
tmp0=filter.a3.i2|0;
return (((tmp0|0)===1?1:0)?1:0)|0;
break;
}
case 1:
case 2:
case 4:
case 6:
case 3:
{
return 1|0;
break;
}
default:{
return 0|0;
break;
}
}
}
我在文档中找不到任何选项: https://github.com/leaningtech/cheerp-meta/wiki
你可以尝试传递选项:
-cheerp-pretty-code
来源:https://github.com/leaningtech/cheerp-meta/wiki/JavaScript-interoperability#clobbering-names
如果这不起作用,那么我很确定这很遗憾无法实现。