Question

Est-il possible de trouver l'adresse mémoire d'une variable JavaScript? Le code JavaScript fait partie (intégré) d'une application normale dans laquelle JavaScript est utilisé comme interface frontale en C ++ et ne s'exécute pas sur le navigateur. L’implémentation JavaScript utilisée est SpiderMonkey.

Était-ce utile?

La solution

Si cela était possible, cela dépendrait beaucoup du moteur javascript. Les moteurs javascript les plus modernes compilent leur code à l'aide d'un compilateur "juste à temps" et manipulent leurs variables internes serait soit mauvais pour les performances, soit mauvais pour la stabilité.

Si le moteur le permet, pourquoi ne pas créer une interface d'appel de fonction avec du code natif pour échanger les valeurs de la variable?

Autres conseils

C'est plus ou moins impossible - la stratégie d'évaluation de Javascript consiste à toujours utiliser appel par valeur, mais dans le cas d'objets (y compris des tableaux), la valeur transmise est une référence à l'objet, qui n'est ni copié ni copié. Si vous réaffectez l'objet lui-même dans la fonction, l'original ne sera pas modifié, mais si vous réaffectez l'une des propriétés de l'objet, cela affectera l'objet d'origine.

Cela dit, qu'essayez-vous d'accomplir? S'il s'agit simplement de transmettre des données complexes entre C ++ et Javascript, vous pouvez utiliser une bibliothèque JSON pour communiquer. Envoyez un objet JSON à C ++ pour traitement et obtenez un objet JSON pour remplacer l'ancien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top