Pregunta

¿Es posible encontrar la dirección de memoria de una variable de JavaScript? El código JavaScript es parte de (incrustado en) una aplicación normal en la que JavaScript se usa como interfaz para C ++ y no se ejecuta en el navegador. La implementación de JavaScript utilizada es SpiderMonkey.

¿Fue útil?

Solución

Si fuera posible, sería muy dependiente del motor de JavaScript. El motor javascript más moderno compila su código usando un compilador justo a tiempo y jugar con sus variables internas sería malo para el rendimiento o malo para la estabilidad.

Si el motor lo permite, ¿por qué no hacer una interfaz de llamada de función a algún código nativo para intercambiar los valores de la variable?

Otros consejos

Es más o menos imposible: la estrategia de evaluación de Javascript es utilizar siempre la llamada por valor, pero en el caso de los Objetos (incluidas las matrices) el valor pasado es una referencia al Objeto, que no se copia ni se clona. Si reasigna el Objeto en la función, el original no se cambiará, pero si reasigna una de las propiedades del Objeto, eso afectará al Objeto original.

Dicho eso, ¿qué estás tratando de lograr? Si solo pasa datos complejos entre C ++ y Javascript, puede usar una biblioteca JSON para comunicarse. Envíe un objeto JSON a C ++ para su procesamiento y obtenga un objeto JSON para reemplazar el anterior.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top