- 在线时间
- 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的入门程序
+ g4 `3 H* X6 `2 O, d
" \! V; D. s! j9 u仅需要以下支持文件:
# n( G3 j) t9 @1 v8 f' U+ l9 f& ~& D& `
1、头文件lu32.h。
# W" W' _, E- ]2、导入库lu32.lib。
, e, F8 s, F, \) b8 T( y3、核心库lu32.dll。 - #include <windows.h>
- 4 I; O\\" m, b8 t0 f7 O
- #include <iostream>9 }% W' j2 U4 L6 I A
- #include <math.h>5 D+ c6 B: p a3 i( x. @2 }
- #include "lu32.h" //Lu头文件
- \\" U( z' `8 L3 {2 t# `\\" K1 K4 |: `7 G
- ; _) S3 S( V- u$ v C' k
- #pragma comment( lib, "lu32.lib" )
- 3 h h1 ^) T; l# V
- 2 E8 ~2 T) x! |: O& B
- using namespace std;+ K2 m\\" z1 O% n9 \% s. y; o1 o
- . D4 L: ]\\" I& S9 O4 Y- v
- void main(void)
- 2 t q) d, [) s' X
- {
- $ m\\" {& Q' \8 T/ |6 ]2 g. r
- void *hFor; //表达式句柄
- 9 O- k3 `6 }! w; E4 b! r
- luINT nPara; //存放表达式的自变量个数5 C7 F9 r- b0 C: @
- LuData *pPara; //存放输入自变量的数组指针
- 3 k4 o% z5 V+ ~! _' x& _2 E' Y7 @
- LuData Val; //存放表达式的值
- + b2 l! C* c6 v+ D, e+ _
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置+ m7 L% o( B5 |# M6 n# _
- int ErrCode; //错误代码# _+ l9 ^% f( m! r; l8 n
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式. E1 w ^2 x( |% A* d3 X. ]3 j
- int i;
- 8 [. P# O7 B\\" m. L, l
- , ?1 A c\\" f: s v% g
- if(!InitLu()) return; //初始化Lu
- 8 Q+ ` I4 j' e7 _6 J( M
- 7 t+ ~ A6 T) b3 t, F# j
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
- % |\\" V0 _: W3 L8 \
- if(ErrCode)
- 4 E* g3 h, C: a: I) s) ?: R6 H. [
- {; t% W8 z+ V) h2 l& s' s
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;) K6 p6 _4 Z% S- ^& A
- }
- 2 [0 _8 q( d: ^ t i
- else3 Q' N8 r. Z0 J* z1 c
- {
- 9 }9 t9 d; d. E; O6 M4 k! f
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- 6 C p+ O9 L& K+ v
- {
- ; `2 F. R6 n* l5 S! ~* U& M/ a5 L) T
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- , A) F) c9 o3 X* B/ x2 f! S
- }
- 0 m\\" D; D5 A W4 X
- Val=LuCal(hFor,pPara); //计算表达式的值
- : R8 l2 t( ^! ^3 [% |. X
- cout<<Val.x<<endl;
- - I5 }8 g |! |% i: \4 f
- }
- 8 S! B9 Z5 s0 b1 S. |7 C
- FreeLu(); //释放Lu/ G; c3 V6 u1 ~: U1 ]+ V* f& W
- }
运行结果:
$ Q/ f% B3 G/ K H6 ?3 {3 x# f' J* j! M0 @" F* o
2
6 D0 p$ i2 P; \' c" Z J请按任意键继续. . .
0 m% O% S5 m5 B3 R& [& ~ |
zan
|