Firebreath를 사용하여 새롭습니다. 연습으로 나는 벡터 추가를하는 플러그인을 작성하려고합니다. 웬일인지 나는 그것에 고심하고있다. 나는 내가하려고하는 것에 관련된 코드를 쓸 것이다.Firebreath NPAPI 플러그인이 자바 스크립트 배열을 참조로 전달합니다.
이것은 내 자바 스크립트 코드입니다. 내 플러그인
void TestJSAPI::addvect(const FB::JSObjectPtr& A, const FB::JSObjectPtr& B, const FB::JSObjectPtr& C, int N){
std::cout << "Entering TestJSAPI::addvect " << std::endl;
int i = 0;
for(i = 0 ; i < N ; i++){
double val = A->GetProperty(i).cast<double>() + B->GetProperty(i).cast<double>();
C->SetProperty(i,val);
}
std::cout << "Exiting TestJSAPI::addvect" << std::endl;
API.cpp
} 내가 잘못 무슨 일이 일어나고 있는지 알 수없는 것에서
var problemsize = 512 * 100
var allocsize = problemsize * 8
var bufferA = new ArrayBuffer(allocsize);
var bufferB = new ArrayBuffer(allocsize);
var bufferC = new ArrayBuffer(allocsize);
var N = problemsize
var float32ViewA = new Float32Array(bufferA);
var float32ViewB = new Float32Array(bufferB);
var float32ViewC = new Float32Array(bufferC);
for (var i = 0; i < problemsize; i++) {
float32ViewA[i] = 4;
float32ViewB[i] = 3;
float32ViewC[i] = 0;
}
plugin().addvect(float32ViewA.buffer,float32ViewB.buffer,float32ViewC.buffer,problemsize);
그리고 코드입니다. 나는 콘솔에서 파이어 폭스를 시작하고 있습니다. 그냥 들어가기 만하면됩니다 ... 그리고 나오지 않아요. 내가 무엇을 놓치고 있습니까? 감사합니다.