将 chrome 本机客户端中的 pp::Var 数组转换为 C 整数数组
Convert pp::Var array in chrome native client to a C integer array
我正在开发 google chrome 扩展程序,其中我通过 pp::Var shared = dict_message.Get("shared_list");
从扩展程序中接收整数数组。现在我需要将这个数组传递给 C 函数,因此需要将元素放入 int*
。我该怎么做?
首先,确保 pp::Var
确实是一个数组。
if (shared.is_array()) {
然后,使用class pp::VarArray
.
提供的接口
pp::VarArray array(shared);
int * carray = new int[array.GetLength()];
for (uint32_t i = 0; i < array.GetLength(); ++i) {
pp::Var oneElem(array.Get(i));
assert(oneElem.is_number());
carray[i] = oneElem.AsInt();
}
// carray is ready to use
delete [] carray;
}
我正在开发 google chrome 扩展程序,其中我通过 pp::Var shared = dict_message.Get("shared_list");
从扩展程序中接收整数数组。现在我需要将这个数组传递给 C 函数,因此需要将元素放入 int*
。我该怎么做?
首先,确保 pp::Var
确实是一个数组。
if (shared.is_array()) {
然后,使用class pp::VarArray
.
pp::VarArray array(shared);
int * carray = new int[array.GetLength()];
for (uint32_t i = 0; i < array.GetLength(); ++i) {
pp::Var oneElem(array.Get(i));
assert(oneElem.is_number());
carray[i] = oneElem.AsInt();
}
// carray is ready to use
delete [] carray;
}