问题描述
我正在尝试使用 node-addon-api 在 node.js 中运行 c++。
我读过一篇来自媒体的精心编写的文章。
但是我想将一个浮点数传递给我的一个函数,并将一个浮点数组传递给另一个函数。
我想从他们两个返回一个浮点数组。
函数示例 (greeting.cpp
)
#include <iostream>
#include <string>
#include <cmath>
#include "greeting.h"
float* helloUser( float name ) {
float* result = new float[3];
result[0] = 1;
result[1] = 2;
result[2] = name;
return result;
}
以及带有模块本机实现的 index.cpp
代码:
#include <napi.h>
#include <string>
#include "greeting.h"
Napi::Float32Array greetHello(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
float user = (float) info[0].ToNumber();
float* result = helloUser( user );
return Napi::Float32Array::New(env,result);
}
Napi::Object Init(Napi::Env env,Napi::Object exports) {
exports.Set(
Napi::String::New(env,"greetHello"),// property name => "greetHello"
Napi::Function::New(env,greetHello) // property value => `greetHello` function
);
return exports;
}
NODE_API_MODULE(greet,Init)
问题是,Napi::Float32Array
不起作用,我试过 Napi::TypedArrayOf<float>
,它也不起作用。我不太喜欢编写模块。
我只希望我在 node 中运行的纯 C++ 代码将其结果发送到前端。
我尝试使用 Napi::Number
接受和返回浮点数,它工作正常。
但我不知道如何让它开始使用数组。
任何帮助表示赞赏。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)