1、在conversions.yaml文件添加要綁定的類型轉換函數:文件所在目錄:
添加的內容如下:
Int1DArray 是我要綁定的結構體。然後綁定要使用的相關文件。(類文件和頭文件)
2、新建一個js項目,將綁定好的文件和源文件加入到項目中.(怎麼加自己想吧!)
3、修改ScriptingCore類
頭文件中聲明:
Int1DArray* jsval_to_int1darray(JSContext *cx, jsval v);
類文件中實現:
Int1DArray*jsval_to_int1darray(JSContext *cx, jsval v)
{
JSObject *arr;
if (JS_ValueToObject(cx, v,&arr) && JS_IsArrayObject(cx, arr)) {
uint32_t len = 0;
JS_GetArrayLength(cx, arr, &len);
Int1DArray *int2d=(Int1DArray*)malloc(sizeof(Int1DArray));
int2d->value=(int*)malloc(sizeof(int)*len);
int2d->length=len;
for (int i=0; i < len;i++) {
jsval elt;
int temp;
if (JS_GetElement(cx, arr,i, &elt) && JS_ValueToInt32(cx, elt, &temp)) {
int2d->value[i]= temp;
}
}
return int2d;
}
returnNULL;
}
4、在hello.js中找個合適的位置測試代碼:
varmysqlite=sql.MySQLite.create('cgw.db');
if(mysqlite.open()){
mysqlite.createTable("UserInfo","(ID intprimary key , UserName char, PassWord char)");
mysqlite.insert("UserInfo", "(ID,UserName,PassWord)values(1,'kfqcome','123456')");
var a=new Array(1,2,3);
mysqlite.insert("UserInfo", "(ID,UserName,PassWord)values(2,'miss wang','654321')",array);
mysqlite.selectAll("UserInfo");
}