- 在线时间
- 13 小时
- 最后登录
- 2013-12-8
- 注册时间
- 2010-5-13
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 399 点
- 威望
- 11 点
- 阅读权限
- 30
- 积分
- 282
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 97
- 主题
- 45
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   91% TA的每日心情 | 难过 2012-8-27 18:22 |
|---|
签到天数: 1 天 [LV.1]初来乍到
 |
C/C++调用Lu的入门程序
h- x( D; n8 [! G* h+ l6 P, _# ~. }' p2 y
仅需要以下支持文件:
* l- K9 F9 E" H7 M; t1 y
1 \% P: M1 W, S# T. K1、头文件lu32.h。
! Y0 x! ^, @: \8 f8 C0 `- h3 f: g! X2、导入库lu32.lib。5 _+ Q) b" J* [1 n' ^
3、核心库lu32.dll。 - #include <windows.h>
- . R3 ]4 x# M N5 E, Q
- #include <iostream> C d' \1 | G; C
- #include <math.h>, n; I$ U; f4 z. v* K! E
- #include "lu32.h" //Lu头文件
- : w# u: n7 J9 S# \! |% l\\" x
- / T0 J4 J) q' Q
- #pragma comment( lib, "lu32.lib" )
- 5 D% z7 W6 J1 k, R( I* Q
- * J2 U9 j% p4 B' e5 ]
- using namespace std;
- % @( w! _4 H# n\\" I\\" N: t5 T
- 9 Y# _9 E5 H! I
- void main(void)
- \\" |2 h, M$ T$ S6 j+ Q$ G3 W
- {' c. z3 S6 R+ z
- void *hFor; //表达式句柄( D* x$ X- H. v) I
- luINT nPara; //存放表达式的自变量个数. E! x1 j: P7 a, t c# K
- LuData *pPara; //存放输入自变量的数组指针: j4 o/ P9 j3 h; G+ x8 Y+ q
- LuData Val; //存放表达式的值
- 8 m5 h& R$ R4 M9 {& R
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- / a% y9 M* {# F
- int ErrCode; //错误代码8 [3 R) B% ?. H+ i' i
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式6 d( N. \9 q5 O5 t
- int i;
- % x6 m1 s, Z/ k: X7 Z. U& F: [0 P
- 0 n+ Q( d, a6 q$ ~
- if(!InitLu()) return; //初始化Lu
- % \: N5 W0 I j% i! I, P
- 5 }' n: S9 k% }% F
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
- . ]4 z5 O: d8 K5 h; x6 n\\" E
- if(ErrCode)8 f; ^3 H, ] P\\" x8 i- w# L# e
- {, @! a\\" n; B8 R. P
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;2 \( y/ J' j5 K) s7 Y\\" J
- }
- & s7 [+ ?\\" t* \
- else
- 5 V1 x! b8 P1 I' m1 _7 P V
- {
- ) Q8 v$ m3 i\\" i1 S- ~& a
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1, g: N) ]6 \! ^2 |* v, P1 J0 _3 _
- {
- D, c/ q$ a; M( u/ e
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;9 Q' k: _0 P: l
- }
- # x) K/ ]( b5 |( V9 m- E
- Val=LuCal(hFor,pPara); //计算表达式的值
- 6 x, e6 ~, b* |) h) f5 {
- cout<<Val.x<<endl;
- 9 N: n' |9 y! E+ y/ r8 F/ u
- }$ |/ `# N% G6 W$ c6 T( }
- FreeLu(); //释放Lu
- 2 m\\" A5 ~* I, }3 M$ P$ m$ R. N2 [4 s
- }
运行结果:( b& r/ J6 p" x
+ a5 Y3 [' R& e& v" z: \2
& }4 w& \ O0 M请按任意键继续. . .$ Z; Z% Y+ x( j% ~
|
zan
|