- 在线时间
- 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的入门程序& e( k7 F" g' F9 c6 X& r
/ Q( g* `) E- ~2 g
仅需要以下支持文件:
: G% G% f$ }% G" K0 s
, n& L2 H. b' y3 B6 q9 k6 `1、头文件lu32.h。
+ b2 ^$ i, I) Q* Z6 P% q2、导入库lu32.lib。$ Y, @6 h# X- a; _& b2 l" [
3、核心库lu32.dll。 - #include <windows.h>8 b2 O$ Y; a\\" a/ Z+ ?
- #include <iostream>
- ' d! [% D! I\\" ?7 u, f T
- #include <math.h>
- ; ^6 q9 j1 @ `\\" U
- #include "lu32.h" //Lu头文件' h! \% p! {( E
- 0 B5 s6 \5 x3 _1 X1 `
- #pragma comment( lib, "lu32.lib" )
- 6 {& ^5 K' @2 ?2 J1 C; E
- 2 y4 Q; V# d\\" E# |$ \; c. D% @0 j
- using namespace std;2 E: y( L9 X2 p6 e6 X- ^
- * F* |\\" f( F5 j; ]$ g8 S* _
- void main(void)
- 4 C- @) K. ^! V! P
- {
- 5 }, U/ j: B; U
- void *hFor; //表达式句柄2 D* t& F& ], m x0 G8 d5 [; S2 c
- luINT nPara; //存放表达式的自变量个数
- ( Y, q/ F) W' H/ \7 D) u, W# h; X T
- LuData *pPara; //存放输入自变量的数组指针6 H9 [! ~0 d) N' Y' A# A9 x
- LuData Val; //存放表达式的值
- 6 u9 T\\" Q9 M+ i$ M7 I; H
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- % u! G& a, I0 p! k1 p) X
- int ErrCode; //错误代码
- % b7 g) u3 W( b* p
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式\\" z8 b1 N1 Q# i4 D4 s: ?& \+ O
- int i;; g1 p% j( m2 y' R) ]3 A
- $ t& h\\" Y1 \& o+ x' V
- if(!InitLu()) return; //初始化Lu
- 1 F2 B9 G; _& r8 ]! H! O
- # K1 m3 j* L- W$ ^3 A. X
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式! @) N% x: k4 p5 U& P4 f5 R
- if(ErrCode)' L8 e$ |; ?$ G6 A. P: c7 `, Y l
- {& K$ I8 t4 k5 q5 M\\" W# }
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;\\" W! ]+ |$ j\\" Y# ]+ Q
- }
- 9 r3 _\\" \4 H. l2 e! i6 I
- else7 B8 {+ U* k8 H, `& ?( B
- {1 e! h; b, m\\" I5 ^- Z4 G' e
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- 2 B$ i* Q: @\\" w( S5 b, k% v# j# D
- {\\" U% J3 C6 V2 Z& e
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- , m# v9 @' @5 n5 c# d
- }% ?+ V: {& b( ?& r5 `& K+ {3 D# F% S
- Val=LuCal(hFor,pPara); //计算表达式的值
- 6 ]$ p1 i/ q3 F1 g- N- U
- cout<<Val.x<<endl;
- , T9 G/ a, M/ Y
- }6 W1 I& [. ]\\" \4 B
- FreeLu(); //释放Lu
- - |9 `+ S* }5 F/ b& T) X8 @8 n
- }
运行结果:
" N% `* x( h: m* _; L3 j% V- n! {* W5 d7 x
2$ c4 W" f; M: |3 p$ K
请按任意键继续. . .
% ]3 z$ \7 X9 L+ | |
zan
|