- 在线时间
- 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的入门程序
( N9 x; \* |+ i/ u, [; q7 N. j9 e& D" J% |2 B# j1 ?
仅需要以下支持文件:
" h* P. s+ D' G/ F4 |! |. Y
- n; T& V3 Z9 x( _& c* r1 s/ B1、头文件lu32.h。1 n) O2 H! D h2 [* \
2、导入库lu32.lib。
* C8 V% u1 |; R+ m' A* q* y3、核心库lu32.dll。 - #include <windows.h># Q% ~# k* H1 d\\" T7 k
- #include <iostream>
- \\" s: {+ T$ i\\" a! i0 c W2 W- y. q
- #include <math.h>
- ; }/ ~+ L' T, m6 H: z
- #include "lu32.h" //Lu头文件8 j m# C4 c' \2 J9 G* c
- \\" Z U* Q2 y# Q2 T& N; V\\" q$ H9 |. ^. F
- #pragma comment( lib, "lu32.lib" )7 c/ y6 C6 N7 s* `\\" c; Z1 @
- 8 A' _( [2 w v4 ~) |! R4 B6 s
- using namespace std;
- 1 ]' @' j. d. [; X, l# {& V
- # x; B1 x, N, h! E( H
- void main(void)
- & W4 {1 ^; E7 S5 h# o+ Y5 m* `
- {1 Z7 Y, `$ a1 B0 _+ o
- void *hFor; //表达式句柄
- ( J, q, Y* ~) y/ S
- luINT nPara; //存放表达式的自变量个数
- 0 k! n ^% q. J
- LuData *pPara; //存放输入自变量的数组指针
- + | b6 a2 P! J! m
- LuData Val; //存放表达式的值
- # l! E0 \9 w( S, ~6 o. j3 s3 g- a
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- - H+ Q1 }- |3 B' N+ X% \4 m! g/ M, V
- int ErrCode; //错误代码/ l( D( Q& R2 j\\" l* N
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
- ) h* U* N2 n5 _6 j) j$ @+ C( o
- int i;- U1 ?' l5 @\\" Q& ]\\" v4 o
- / L2 A1 M3 M5 a- c; g
- if(!InitLu()) return; //初始化Lu7 Q' ?1 B9 D4 c; G9 u9 V
- - Y5 x\\" U4 F2 v H/ y$ @
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式$ s: f2 o9 k* @0 \' |
- if(ErrCode)1 Z5 e0 \, M; y( S9 f, ~4 L. L# b$ b
- {; ?' {3 }4 b) p8 f
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- 1 v; y5 }- _& V\\" x$ M) x: o! t
- }
- 2 f% `3 B+ Q\\" \$ a T$ s$ J
- else1 z, }4 k* b0 b1 |# D& S8 r7 s% z
- {
- 6 F% Z2 g- Z3 V+ t
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1& P5 K' b( o4 K6 p
- {
- ) s, g3 a% b: K% z/ Y+ s
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- ! X\\" g9 H, h% x% V- w# @
- }
- % E- a- f, |' e
- Val=LuCal(hFor,pPara); //计算表达式的值
- 0 R$ T+ H. S+ k. T# B: ]/ \
- cout<<Val.x<<endl;
- . P; i0 v5 [/ d
- }6 v4 v+ F! u& Q- D4 X, I$ Y6 ?
- FreeLu(); //释放Lu
- ! z: {4 T& O, [\\" J- m: {: z\\" q
- }
运行结果:2 r5 m: I" ]7 F/ }+ h0 d! B
& ~- j- T8 g P' a* V2 l) A7 S' C29 h$ H: k6 U+ B2 |
请按任意键继续. . .5 S2 O( O/ K2 C5 Z( t! y
|
zan
|