Cheerp — это транспилятор C++ в js/wasm.
Используя С++, я могу взаимодействовать с объектами extern
Javascript, статически определяя тип и имя объекта (и его членов).
В качестве примера возьмем следующий объект:
var example1 = {
"itemA" : {
value : 3
},
"itemB" : {
value : 1
},
"item3165942" : {
value : 4
}
}
Было бы тривиально статически определить example1
как структуру с itemA/itemB в качестве подструктур. Но я бы никогда не смог получить доступ к example1["item3165942"]
.
Как динамически извлекать, индексировать и перебирать ключи/значения объекта javascript из С++? Предположим, что все элементы в example1
относятся к следующему типу:
struct item_type {
int32_t value;
};
__asm__
. чтобы выполнить это. Вероятно, вы могли бы также написать функцию на стороне браузера, чтобы сделать это извлечение и вызвать ее из C++. - person cdhowie   schedule 15.06.2020items
в моем примере определяется только внутри модели памяти C++ и полностью отделено от мира Javascript. Связанный вами пример делает следующее: он никогда не взаимодействует с какими-либо собственными объектами Javascript и просто «эмулирует» поведениеvector
(а неmap)
. --- Я пытаюсь индексировать внешний собственный Javascript Object из C++ с использованием динамических ключей, очень похоже на то, как я получил бы доступ к стандартному C++std::map<std::string, item_type>
. - person Xunie   schedule 15.06.2020