C/C++调用MLu的入门程序(二)

2014-11-24 12:41:16 · 作者: · 浏览: 1
LuData *pPara; //存放输入自变量的数组指针

luINT nPara; //存放表达式的自变量个数

LuData Val; //存放表达式的值

wchar_t ForStr[]=L"f(x)=x+1; :::ff(x,y)=f(x)+y;"; //Lu模块化源程序

if(!theInitMLu()) return; //初始化MLu

if(!pUseLu(2)) //申请使用Lu资源

{

i=pComModule(ForStr,nModule,hModule,ErrBegin,ErrEnd); //编译Lu源程序

if(i)

{

cout<<"Lu源程序有错误!错误代码:"<

}

else

{

if(pGetFor(L"ff",1,NULL,nModule,hFor,vPara,nPara))

{

pPara=(LuData *)vPara;

for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1

{

pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;

}

Val=pLuCal(hFor,pPara); //计算表达式的值

cout<

}

else

{

cout<<"找不到指定的函数!"<

}

}

pUseLu(0); //归还Lu的使用权

}

theFreeMLu(); //释放MLu

}

结果:

3

请按任意键继续.

摘自 forcal的专栏