- 在线时间
- 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的入门程序& {/ R* ?$ e W( p: f# n
( n! b. u0 i# ]仅需要以下支持文件:
: W& Y1 r1 F5 e- \! X! N& r5 N- z& }" X0 M8 a6 w1 f' K
1、头文件lu32.h。
7 A u/ ]: g, f- n( h+ j3 E( Z2、导入库lu32.lib。
; d7 B) x' G% l3、核心库lu32.dll。- #include <windows.h>
- 0 ?' j! E: N' B: d. F1 `
- #include <iostream>% [\\" N9 ]4 U\\" _
- #include <math.h>
- 3 L I S: I1 V- Q( D9 p
- #include "lu32.h" //Lu头文件$ G* j7 m. v8 _! l7 D
- ; V% V& B/ M\\" ]9 ?% W& N3 S\\" I Y- F
- #pragma comment( lib, "lu32.lib" )
- & m! N8 F$ E9 q
- 8 Z+ m+ j' c% D- W2 {& F
- using namespace std;1 ?' {* z2 H# ?
- ' M8 M3 P& g6 H, H/ |
- void main(void)
- ' Y. ?7 g: C1 n- B8 k6 F! }
- {
- 3 \+ k& O' c! o$ F) Q% L
- void *hFor; //表达式句柄& X! L' b5 \6 S1 C2 ^
- luINT nPara; //存放表达式的自变量个数
- 3 P5 m( }; i; |3 H) S( O
- LuData *pPara; //存放输入自变量的数组指针1 T# _2 P$ v5 @1 C7 _0 o
- LuData Val; //存放表达式的值
- & m% R# C\\" `0 T# @$ A8 R4 O/ y2 q' G
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置2 T5 \2 r3 ^3 m j4 X! m
- int ErrCode; //错误代码0 E8 `# k- g) O' L {
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
- % o3 S0 R& ~3 Z0 Y: }* e& C5 y
- int i;
- $ T7 R\\" I4 G* F* e! R5 ]
- 2 h! W$ a& s) v- `$ b2 `, C
- if(!InitLu()) return; //初始化Lu+ f- R9 d9 r) A7 g
- . L! J& ?, R9 q' ^0 K# N5 {3 v
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
- ) {0 A6 [7 A* F! Y6 ~+ [
- if(ErrCode)
- / z$ P- N# F% M* }! H- U- j
- {
- 9 y/ M/ A% I# }7 }2 @ l2 `: m
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;# d- C: n# c- l, ^/ U
- }
- ) A, W8 p+ s/ n* _% \! P+ x# M. T\\" }) i
- else: m* u4 J1 D$ l4 p, z% P
- {+ c1 y' ]; r0 e4 }0 V% [5 J* A
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为14 t1 X2 ^( O n) n# [5 k2 f
- {
- 1 T\\" p4 j2 ^' ?
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- \\" ?3 v( P, v8 n
- }6 e: w. B2 t+ K! h' M
- Val=LuCal(hFor,pPara); //计算表达式的值
- : O) |9 ^& y5 |, h- g
- cout<<Val.x<<endl;
- ! T' z8 r/ @; P: X% o9 W3 q
- }
- 2 y- A6 z3 k0 p: {& ?
- FreeLu(); //释放Lu: r\\" n' S8 c0 d2 s/ ~
- }
运行结果:
1 K$ D3 U0 m4 u# u) r. k' y% G% K% V H
2
4 {/ Z9 J2 y4 | |8 L8 i请按任意键继续. . .4 r% ?) E7 E; C5 p
|
zan
|