- 在线时间
- 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的入门程序1 n2 e' A5 H0 `, l! I- S. J
4 N) w- H9 Y9 M/ k" s仅需要以下支持文件:' J1 r1 Z, J- u& n* u
* a. l& A( v6 E, F( m1、头文件lu32.h。
+ p2 {- c8 h5 ~3 ~2、导入库lu32.lib。
6 D1 y' B' T- y: ~3 @' A' [3、核心库lu32.dll。 - #include <windows.h>
- \\" O5 }6 U6 V i! W9 m9 a3 Z/ B
- #include <iostream>- K5 U/ \4 N: N# R I
- #include <math.h>9 o1 T1 d5 I, [, ]' i
- #include "lu32.h" //Lu头文件7 O: S# K5 ]6 p+ m\\" o% @: m$ w* y
- & ^- R' l: Y4 T+ B v2 j: q
- #pragma comment( lib, "lu32.lib" )
- 8 y ~$ _7 {9 s; a
- 4 v7 |7 }$ V# f1 Y* Y
- using namespace std;' @0 b, F+ J! ?7 E
- 1 b# {5 f& h8 v* @3 j) l
- void main(void)
- 5 G! U3 M' O' v V2 Q3 L
- {
- % V0 U1 ~. c0 c. ?1 S# c: v
- void *hFor; //表达式句柄
- 7 o8 z# l. z; c3 z
- luINT nPara; //存放表达式的自变量个数
- 1 P8 Y9 R2 B' R0 w ~2 _4 v- P
- LuData *pPara; //存放输入自变量的数组指针 q- d, W' Y. s9 [) x) k
- LuData Val; //存放表达式的值- o% e7 |* ?* [5 O5 u
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- # W/ B$ t2 W5 m; j3 b A* S1 c
- int ErrCode; //错误代码
- - O2 ^+ ?9 {5 x) M- T9 A. X. X
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
- 9 I( g3 T\\" W5 \3 `
- int i;
- / Y+ r0 k# L0 s& i$ g/ o1 Z7 p/ ~8 Y
- ! O9 k! o: P- b S2 S2 V
- if(!InitLu()) return; //初始化Lu
- - s. K& T7 I, C* Y1 K- {
- 4 Q* I# a# |5 Q/ e- Z( b4 x
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式: v! e2 U* e; V8 f
- if(ErrCode)
- 0 q3 a% P' ^9 u9 a7 L% `
- {
- 1 k0 m3 z9 [# t+ u- D& @% a! W
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- 3 X6 O! n5 N; j* e) A
- }
- 5 d! P0 p, S6 n! ?8 [; k$ [+ B
- else
- 0 s$ |, B4 J4 |
- {
- & U) ~0 n+ O- r, u) d- S
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为15 W& @4 w! D. j& |( b
- {
- ; O& V8 Z: R4 z\\" M, o _0 d
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;+ h D8 x6 h# K\\" _\\" g8 U5 E
- }
- % y: `# B. G1 R* O
- Val=LuCal(hFor,pPara); //计算表达式的值( y/ a, l& e3 ^5 N
- cout<<Val.x<<endl;\\" _ {1 Q; n1 P0 Q5 I
- }$ {6 L' Z$ n) p, C
- FreeLu(); //释放Lu+ G( Z$ c8 J& I% D1 a! H
- }
运行结果:
, R, U' t4 n6 P/ }! H9 i2 D
. z1 O4 ]4 G: u. F4 t! a2 m, c- V2* v8 k( c) @; V, f+ D; k m8 _& V
请按任意键继续. . .. z0 M& b; H3 _
|
zan
|