- 在线时间
- 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的入门程序
4 b; t+ i) m4 l% f! F( a9 y; N
4 |( {7 {8 @) p7 g5 J: d仅需要以下支持文件:1 B- z& L# b6 U. a; W: j
0 x$ B. T4 g; v
1、头文件lu32.h。2 n" y' x! C2 q; f v* u; r G
2、导入库lu32.lib。* }4 t3 {1 @8 t$ `5 {# J
3、核心库lu32.dll。 - #include <windows.h>4 A U\\" J1 ?% C9 [ i3 L5 U3 r+ {
- #include <iostream>0 @$ S( ~, Q2 ^# V7 Q8 ?, r; R& b+ z
- #include <math.h>) _$ s7 v) N8 u3 I1 y0 f( x
- #include "lu32.h" //Lu头文件, M* f) n! S) C9 y! u
- 6 M. V6 T u. p& \+ ]; V- B
- #pragma comment( lib, "lu32.lib" )
- 7 B8 ?1 K5 n1 Q
- 2 n0 i1 \* P t2 T2 ~' |* A2 T
- using namespace std;9 @' p1 _. Y# _+ e
- 6 e, X7 @3 S3 l8 D9 J U L
- void main(void)
- , [\\" w) I: B ~1 Y2 ?
- {
- 7 t6 e' n, ]! M
- void *hFor; //表达式句柄* z1 M+ |; P5 x) s/ ]' n3 A
- luINT nPara; //存放表达式的自变量个数# q8 d6 y4 T: ^( w% s5 u- A4 F\\" _9 ^
- LuData *pPara; //存放输入自变量的数组指针
- - g$ M# T7 k, @+ q% C* M) ^5 F
- LuData Val; //存放表达式的值
- # j\\" \, T: g- \( \
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- 9 X, y4 N; g9 J# Q# C) r\\" H, v3 C
- int ErrCode; //错误代码8 r' S$ T+ e: f: |
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式\\" G9 b' |# q- j5 K
- int i;# ?, A! ?# e5 x( s% Z! t! R
- / @3 [: I2 T6 i, o$ o3 `' L
- if(!InitLu()) return; //初始化Lu0 a\\" @8 t: M/ | O
- % k. | o' B& t* Y; H0 X
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
- ( B+ n1 q! T& W j
- if(ErrCode)$ A4 I& J& u! u) _
- {* c1 ]7 u+ i; J4 L\\" ]. @% z8 L6 A
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- : \, l! o6 i; U! q
- }6 `; v1 y, g: c6 h\\" d' N; v
- else
- % b o7 X+ U1 H! @! t! W5 o
- {3 H: h. W+ s% W$ J# k
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1- J9 k% |& k\\" I$ \4 u2 X
- {8 v\\" ^# _% ~+ v- l
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;* i+ I3 s/ L0 u; n
- }+ I5 |0 G3 P5 ~\\" L/ z2 H @: e
- Val=LuCal(hFor,pPara); //计算表达式的值/ y$ v E! s7 ?5 V( j8 M! r) |9 d
- cout<<Val.x<<endl;- F/ G* l\\" k4 X* k\\" s. s% n
- }
- 0 R( N& ]: p; @\\" E$ \
- FreeLu(); //释放Lu
- 4 c3 h$ z\\" ^: u: {4 h
- }
运行结果:
8 D/ w- k4 ^3 `( k9 {5 u
. Z) T! [9 A8 K2
) A& c$ b* r/ J- b- \, q8 g请按任意键继续. . .
2 w- i- @8 Y p3 l+ w! ~; W |
zan
|