- 在线时间
- 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' j; o6 @8 \& D! O
, {5 \4 v$ L5 c4 ^8 U仅需要以下支持文件:/ n3 x. b' r2 }6 _7 S! |+ |0 y
8 s+ c7 w1 N I
1、头文件lu32.h。; F) ~' q* O7 S
2、导入库lu32.lib。
4 a1 I, r: s8 o7 [# I3、核心库lu32.dll。- #include <windows.h>
- \\" o% r- F! Z, Y) T7 @1 l$ U) z
- #include <iostream>
- , R( f& ^/ u; P: o B( L
- #include <math.h>
- + q' k/ T; b$ \. M5 P
- #include "lu32.h" //Lu头文件
- 8 \3 _8 j$ u! S\\" b\\" X; H- p6 ~\\" {$ a
- \\" H' X. `' P4 \. N+ x
- #pragma comment( lib, "lu32.lib" )
- ) N- O$ b0 _. o$ x3 Q
- 9 n, _- o* i9 P
- using namespace std;
- : f: {( l! m* w t
- 9 @; N% z+ d4 E8 }% x
- void main(void), u0 Z9 s2 z6 n: ^! @( L8 @' d
- {9 f4 m, X4 E1 I0 s/ C
- void *hFor; //表达式句柄
- 2 F- w* g. X [0 l9 j
- luINT nPara; //存放表达式的自变量个数
- 3 H+ P( F+ p0 \- Q\\" B% V' \( p
- LuData *pPara; //存放输入自变量的数组指针3 [2 c+ h- s6 R; _+ W
- LuData Val; //存放表达式的值
- ) Z; T ?4 d/ N7 _, J* O9 J, x
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- $ u: v5 x% l\\" t
- int ErrCode; //错误代码0 g: r) ]\\" L2 o: N _
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式, x% D. W/ d. d q
- int i;; W' z# }* y, o7 R; _\\" {, E# F
- 7 Z8 a2 A, V0 E
- if(!InitLu()) return; //初始化Lu# I- w q+ j R& B& Q1 y6 L0 U* I% Z
- 3 v2 }8 s. D' {' V% k+ V) d
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式; S& d- k, Z# ^' r V
- if(ErrCode)0 m k3 k+ n* A
- {
- 6 L& s' \3 B2 k3 y7 F
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- 2 V D# z2 q4 w
- }
- $ I6 P, L- _1 _% a# _& x, |
- else( m0 l% q2 }! R
- {# U+ m2 ?, O2 k- C
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- 6 C9 F. d- N6 k\\" s' ~
- {0 r/ P% Q) n) \ c/ y5 O' C4 _
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- 0 @* | ]/ r9 t: f
- }+ n8 m9 d% o# j
- Val=LuCal(hFor,pPara); //计算表达式的值
- 0 M# W; l7 K/ P( @% j9 n2 b
- cout<<Val.x<<endl;
- 6 ^. N _1 R* h
- }/ w% {6 b$ I: B1 P5 R9 w) d) i
- FreeLu(); //释放Lu2 x# n5 d2 S9 \; [( C7 s
- }
运行结果:
' r' I# O* Q5 u" | J% e
7 J2 W. I# |3 \2 S+ H3 w9 o7 }20 j3 |! z4 W9 D6 ~
请按任意键继续. . .# m% I9 z5 o9 }) R- Q; n4 d' y
|
zan
|