Функция C:
void foo(int* p){
*p = 10;
}
И вызов js:
var a = 0;
foo(a);
console.log(a);//expect a to be 10
Функция C:
void foo(int* p){
*p = 10;
}
И вызов js:
var a = 0;
foo(a);
console.log(a);//expect a to be 10
В JavaScript нет возможности иметь исходящие параметры для примитивных типов, и API V8 изо всех сил старается не создавать поведения, несовместимые с JavaScript, потому что это было бы странно ™.
Альтернативное решение - встроить поле в объект:
var a = {value: 0}
foo(a);
console.log(a.value); // This can be made to print 10.
При таком подходе вы можете использовать обычный способ привязки функций через API V8, а на стороне C ++ просто изменить соответствующее свойство переданного объекта.