- 在线时间
- 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的入门程序
) I( v! u- |/ C
+ q. }7 o8 }/ j/ P; u7 R3 J仅需要以下支持文件:
7 c% I. }- T8 _2 k6 s# q2 V @
' C m' k% W+ q6 y" @3 I1、头文件lu32.h。1 x8 d; b& A$ J) B. Y6 S" A& n8 [/ ~
2、导入库lu32.lib。
( Y- l4 E& U1 m' j0 r3 O" {5 M3、核心库lu32.dll。 - #include <windows.h>* h m1 }/ Y b& P5 m; k
- #include <iostream>+ s! x8 c& b1 q; B8 q5 j* g
- #include <math.h>
- % F& v' v) ~( {% Z
- #include "lu32.h" //Lu头文件
- # f; k6 z# E/ v& q\\" t\\" Y5 F
- ' Z8 N; t\\" O4 v4 \$ A
- #pragma comment( lib, "lu32.lib" ): P3 K3 J\\" n+ j3 t; W
- . _( g& f\\" H5 |/ d& t
- using namespace std;
- ) D {2 K/ p/ P# n8 h$ M* ^5 Q
- ! s/ j! }' a$ V# K5 g8 a
- void main(void). P; k& }! Z( ~& e' r; z1 G T9 ^
- {4 k$ m4 v. i* W6 J+ \
- void *hFor; //表达式句柄
- 6 ^, s4 _1 C2 F' W& r/ V/ Z2 d
- luINT nPara; //存放表达式的自变量个数
- 5 D4 W0 p$ N* S9 F' \
- LuData *pPara; //存放输入自变量的数组指针
- 5 x% w% { a3 X' f1 x9 _# A7 Z
- LuData Val; //存放表达式的值
- , M7 E: H0 F, ?! b( _* j
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- ) Q \( V& n2 ~7 `: p
- int ErrCode; //错误代码
- ; ~* M5 `7 B9 |: m* A: H
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
- / w; j3 d& L( K( R
- int i;5 L: S0 a {+ S2 p1 J8 P
- ! p0 x6 k; T& @\\" ]
- if(!InitLu()) return; //初始化Lu: f* W* r% a/ l
- : w4 m8 r2 R+ w4 Z
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式* M `9 x- c Y: Z1 l
- if(ErrCode)! a! f. \5 A- O. H
- { K( W! c4 S# E+ h( _1 \# B u
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;/ |8 L' X ?- Z% H/ l
- }
- - L\\" _. W- t* A, `8 G
- else' c j7 v5 z( ~% r5 F
- {
- \\" g- f( M u$ D' e. A
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- 2 ?! I\\" e$ p: e4 W7 G$ u. R% d
- {2 p! X) u6 a* I- k0 y% M( t% x8 f( d
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- 2 K) ]4 b; z2 w
- }( l( F6 s. x { I0 l0 t/ E
- Val=LuCal(hFor,pPara); //计算表达式的值0 ^9 h& p: s* l2 n, I\\" }0 ?1 _6 s& P
- cout<<Val.x<<endl;2 U! {+ m7 W, r6 ]4 V
- }
- , T0 R; F0 e4 v4 K A3 D
- FreeLu(); //释放Lu
- / J( \9 f$ i: h3 x9 t
- }
运行结果:& D" i) O2 D" y. x/ ?% Z
" ?9 C' ?. d( ^+ D
2
0 B! t- O$ ?+ z. k0 N3 |请按任意键继续. . ., d9 L, L& @4 v+ t' e2 V8 W
|
zan
|