- 在线时间
- 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的入门程序
% `0 R* o: ~' a' c) E
$ ` r* N: Q$ D }# H: ~仅需要以下支持文件:
. z( e% g$ A$ \0 {1 Y1 Q* W$ j" j" w" |; J
1、头文件lu32.h。
& x- r' H3 M( n3 {6 g2、导入库lu32.lib。! e2 W- `# k' p- ]7 ~9 e {
3、核心库lu32.dll。 - #include <windows.h>
- 7 k' p\\" e/ X( v0 N\\" _4 \
- #include <iostream># I+ B& }: {9 E, I4 A- g! m0 i( k3 e
- #include <math.h>
- * h2 \% ~) B1 i9 y2 M: H h
- #include "lu32.h" //Lu头文件
- 7 n7 V% ^& Q7 J
- ( S: Y8 C2 x\\" j5 d7 E* K2 J0 s1 P* Q
- #pragma comment( lib, "lu32.lib" )
- . B) \' s2 L2 }; Z3 x; B1 e7 K+ l( P
- $ a) R! @# S$ ~: ^
- using namespace std;; k! F' O& x! P) v6 b1 A
- * `5 c& T, z) q& ?2 \ `
- void main(void)2 q% e3 O5 A# j2 J
- {/ a9 I3 Z$ ]1 J E
- void *hFor; //表达式句柄
- ) _2 Q* n) k; d1 g\\" [+ r
- luINT nPara; //存放表达式的自变量个数, f$ E; m+ ~3 g
- LuData *pPara; //存放输入自变量的数组指针
- & m5 O/ N1 Q\\" W6 z* }
- LuData Val; //存放表达式的值5 t/ h! m' G g. l% k
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- 7 E- I* Y) y. i7 G& H3 ]\\" h
- int ErrCode; //错误代码
- 5 S- Y- v6 o) f0 W3 x
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式4 ?; J( N4 L' V& B7 c9 p
- int i;
- 4 Y- |( O9 v- ]
- # j: q! i: B2 @; l. u. P. G
- if(!InitLu()) return; //初始化Lu2 ?; b# q8 k3 f! J0 i
- & t6 c2 o. y) Y3 c. u
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式3 y: R, w0 |) \* o: O ~( P4 P5 N
- if(ErrCode)
- 2 e( B f/ M. i6 }/ g3 v$ z
- {( W, ]8 Y- r: D/ v' m\\" {1 m% {+ |
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;4 H0 T' O7 M* q, ^
- }( o0 Q4 z8 Q9 p\\" L- f
- else
- / u5 H) H- s. j) ?+ L2 R
- {
- 5 @! ~7 @4 ^: r& h
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- $ F/ {9 T( ]; f2 x4 n8 L- z
- {
- \\" @: \& z: ]# F( f
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;5 p0 R: \' n1 O
- }2 c% l- ~+ t7 t B! j/ {+ v
- Val=LuCal(hFor,pPara); //计算表达式的值
- ) `0 P E/ T2 q2 X8 n
- cout<<Val.x<<endl;
- # h6 Q; i% r- ^ Z\\" d# w1 ]8 J% K
- }3 `9 \) X9 S* q8 _
- FreeLu(); //释放Lu
- 5 f: k& j. A, {9 d\\" _
- }
运行结果:' P' Y1 \" r3 W0 S
d" o, M! E6 g# C3 a
2/ [$ y! t. z" w7 o
请按任意键继续. . .
* y a( f& Z6 `% f. b4 m |
zan
|