- 在线时间
- 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的入门程序2 q+ E8 q6 s- E+ J
+ P% B) |4 i6 e" ~' }仅需要以下支持文件:
4 V# [8 p6 t* _: w& H$ k# |. e
. X/ E5 P! I4 A3 w+ B6 Z1、头文件lu32.h。
/ ^! A3 W1 O+ c& R% J) n2、导入库lu32.lib。
; r$ z7 z0 d3 G9 }4 i3、核心库lu32.dll。 - #include <windows.h>
- 9 I/ A4 h+ z( S: E% g4 w2 g2 c
- #include <iostream>
- # r5 D$ a7 S8 H\\" @. X
- #include <math.h>$ z1 Z9 T0 C( o! {8 x8 E0 p% `+ c0 n
- #include "lu32.h" //Lu头文件8 W! d/ a& ^1 E/ x$ U2 r
- 3 N8 a, z0 t\\" t/ _7 I* L
- #pragma comment( lib, "lu32.lib" )
- Q+ _; _8 `. H6 g
- 7 } H5 G* M9 S+ @; y
- using namespace std;' t6 D. N& {1 F @, t6 l* ?
- 6 V5 ^; O$ ?& k9 L4 |1 k/ ^2 J
- void main(void)0 `. ]* M+ l3 v' Z; O2 K/ D2 _
- {
- 5 m, r4 }4 P1 _' L
- void *hFor; //表达式句柄! L/ Y; z3 P; _1 T, S9 q
- luINT nPara; //存放表达式的自变量个数. ^4 w$ h( w\\" h
- LuData *pPara; //存放输入自变量的数组指针! r' U; l! D/ B* I6 ~5 b
- LuData Val; //存放表达式的值$ u! x2 e8 `7 ?- |/ H+ n% `2 M
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- $ P- [5 O. h# C+ k& B
- int ErrCode; //错误代码
- # h3 s# J3 a9 \3 q
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式- Y$ E. Y$ u6 g$ ^! z
- int i;
- / i8 N' `& {7 k5 E2 y# B/ X& n
- 4 L8 M' T0 o* V& z) q' b4 n S
- if(!InitLu()) return; //初始化Lu* l\\" I* H$ J+ m( X9 s: N
- / z9 s; K6 ~, d8 W\\" l5 L+ z- U
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
- / L6 }( g- m6 R2 [ A5 N/ p3 @
- if(ErrCode)
- . ? ]- _& d1 Q1 p7 H2 `
- {
- 8 p\\" f8 Z: a, H0 e9 Q% N% ]
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;- x( _- H) U1 i6 u* ^/ a: r! s- d
- }
- 0 s/ `; F. n, A+ G4 O
- else
- ; C. z7 Y9 \% F& R; y' O3 A
- {
- ) q, O B! [5 C& O& O
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为11 y1 f! N3 ?' T
- {4 ]3 |2 |% a( N\\" s$ a0 p
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;' s6 L( J. l4 u\\" j r2 K. A
- }/ V) D3 L\\" M+ {: B2 G
- Val=LuCal(hFor,pPara); //计算表达式的值$ m1 d7 \( m s' _. J
- cout<<Val.x<<endl;
- % p% u, c6 e v- C
- }
- . z I* v7 p0 i6 j
- FreeLu(); //释放Lu
- & W( m5 k1 V1 {5 D9 o, r/ W+ `
- }
运行结果:. D' D/ s; w" E4 v; w/ p
* B+ [: I' b' J3 V
2
: y4 G9 L0 `6 `/ t o请按任意键继续. . .
- \ W2 c0 \6 o7 a4 a" S( { |
zan
|