- 在线时间
- 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的入门程序
' _/ a! w: U/ r7 d8 z$ }, U9 D9 v
, h" F" Y9 t# Z+ ^ Q7 Z% i, K仅需要以下支持文件:
* M$ A1 R0 Y- I, C1 y& b6 s9 R* r( z1 B5 X0 [
1、头文件lu32.h。) q4 c- P) n3 C4 e) l
2、导入库lu32.lib。
. T& p8 f. ]* \* \ ^3、核心库lu32.dll。 - #include <windows.h>4 Z6 u @8 |4 g3 c5 Z% V2 Q
- #include <iostream>( w+ D9 C- G\\" ~: x3 v0 T( J/ D
- #include <math.h>
- & f5 S4 w) p8 A2 L
- #include "lu32.h" //Lu头文件% E) s, f# Z\\" }3 P: Y
- $ f9 k& T T- `& z& W% r i
- #pragma comment( lib, "lu32.lib" )
- 7 _) r' K0 K5 [2 d! I' _5 p
- # ?& H9 L; n/ \* i
- using namespace std;, b( A- A6 V( _/ F/ B% a
- - G3 d# ? S5 Z6 {( m
- void main(void)$ D% w3 @6 F8 P6 N5 M, f. [
- {
- / O% M' G/ E' Y1 V$ f
- void *hFor; //表达式句柄
- ( T2 F' c1 g( \1 b c
- luINT nPara; //存放表达式的自变量个数
- Y* S* R: h\\" s: {6 E& Y# \
- LuData *pPara; //存放输入自变量的数组指针
- 4 y# f! I+ e; |; W, u
- LuData Val; //存放表达式的值* l9 \$ t% [% R! P( u+ A- E$ G
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置! g3 M. P- U0 k\\" _/ \0 q5 H
- int ErrCode; //错误代码
- 7 F0 o0 w5 f) s, \- V
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式( N' v# t5 `5 u: U8 d; @
- int i;
- % [* O/ p* b* p
- , L8 ?7 d' H) H- V: Q z
- if(!InitLu()) return; //初始化Lu
- 0 F' o7 Q! `/ [* J
- 6 m4 s% j# y, e! K$ v
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式/ W; j* b& d2 }% @6 h2 a* W8 [
- if(ErrCode)9 C9 C, m6 b4 n
- {6 d( K1 ]/ x8 h: Y/ k/ k. a
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- * j! F+ U4 L\\" Q' N) A+ g1 E4 ^
- }
- ( e7 W: ]; I4 C* u
- else* p, |, v8 d7 D3 G H
- {
- * p' G& V6 u# f+ E
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- + g\\" t2 ?1 `; M: j2 P; x
- {
- 7 t, T1 m& ?0 r( Q' _$ P- q, k
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- 3 D1 J% ~2 ^$ b/ d
- }! F\\" R' N. R, r, o. i
- Val=LuCal(hFor,pPara); //计算表达式的值) k V# H# E% U; }0 l. R
- cout<<Val.x<<endl;
- 2 A& w; [, v, ?0 l1 M* ~- e
- }
- / [& ~6 N0 H1 h- a7 D2 U! Z
- FreeLu(); //释放Lu
- 7 Z& S# c6 t& B+ ~2 X
- }
运行结果:
$ m9 }) y2 s$ C/ P1 q- q$ _ M9 P: P8 K; x3 `% z
2
6 a" |) t# n' h' u' J, `* s请按任意键继续. . .7 r0 n& Q9 H6 _ @( g+ x9 P0 \- s
|
zan
|