我需要使用 C 创建 dll。但我看到了一些问题。好的,首先:我需要 dll 库中的函数来计算线的角度 - tgA = dy/dx。角度 = arctg(dy/dx)。我在文件framework.c中定义了这个:
JSBool computeAngle(JSContext *cx,
JSObject *obj,
unsigned int argc,
jsval *argv,
jsval *rval ) {
double dx, dy, angle;
if (argc != 2) {
return JS_FALSE;
}
if (JS_ValueToDouble(cx, argv[0], &dy) == JS_FALSE ||
JS_ValueToDouble(cx, argv[1], &dx) == JS_FALSE) {
return JS_FALSE;
}
if( dx == 0 ) {
if( dy < 0 ) angle = -90;
else if( dy > 0 ) angle = 90;
else angle = 0;
}else angle = atan(dy/dx)*180/M_PI;
return JS_DoubleToValue(cx, angle, rval);
}
但是这个方法行不通!我认为有问题,并从 Adobe 网站下载了 Sample.zip。我在我的函数上更改了函数 computeSum,但它仍然不起作用。我认为 JS_ValueToDouble() 和 JS_DoubleToValue 方法有问题。你怎么想?