- 在线时间
- 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的入门程序
- t" t. A }. K+ N( E4 X9 F% t$ a! a9 c
仅需要以下支持文件:
( ~- [8 b# f H% h7 W* A. k5 c' H4 a0 M+ D3 O% [
1、头文件lu32.h。
6 U9 j. D$ E: X2、导入库lu32.lib。! g1 r s" |5 @) f: L
3、核心库lu32.dll。- #include <windows.h>
- , U0 I' t3 E\\" r# X7 m. T' M* u
- #include <iostream>* _* W1 L& P' s4 x* c) b
- #include <math.h>4 y2 F3 Z) H$ y& ^4 D8 C
- #include "lu32.h" //Lu头文件
- : ^% J8 [\\" A1 y W. O* ]
- * v# o. U f6 a3 `. A8 h
- #pragma comment( lib, "lu32.lib" )
- 0 k$ O\\" v* D, i! O) P4 C
- 9 H' Q0 s! g$ P- R$ N- \% T
- using namespace std;
- \\" b q# z1 M1 Q* H u8 H2 B; o
- 3 s& M8 i5 o' w: x( M$ x
- void main(void)
- / e) G# T2 D$ o1 ?
- {% t. c- I4 @7 m
- void *hFor; //表达式句柄/ N4 c, L9 d6 W ?8 p
- luINT nPara; //存放表达式的自变量个数
- 0 X5 n, f) F7 T. [* p
- LuData *pPara; //存放输入自变量的数组指针5 k' |! R; T, y4 Y* R
- LuData Val; //存放表达式的值
- , Q- |% }1 N. n% H
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- 9 ]: D' h. K! G* ?+ G# j$ }* D
- int ErrCode; //错误代码
- 7 [3 n5 r3 k7 u. f' U: I
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式/ E$ A9 C; g; F5 c+ u
- int i;
- 1 B! N7 A% x$ s0 n2 O
- $ x: ^5 E, N# ]. b% G! G
- if(!InitLu()) return; //初始化Lu
- 1 Y0 t2 d- W* P- w% J' V
- ; w\\" n3 V& W6 |* F# A; a1 T
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式8 q+ T4 x, N6 S% x6 D
- if(ErrCode)
- ! }5 v2 h) H, U7 I) n+ j
- {
- + u( C( Q! a, e5 u
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;; u3 ^( M+ Y% o; i- Z
- }
- 7 ?! u$ @\\" a' T# v, r9 N
- else T\\" P; w7 ?# K l' B
- {
- B) z6 H. G1 @5 e
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1: |, s8 k) a0 R6 N' Z$ N
- {
- 8 E t) {4 {8 h! W+ U }/ a- ?
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- 2 w8 Q5 n, ] I6 N4 Y
- }4 o. H$ M8 q; |6 Z: X# G! u; l! e
- Val=LuCal(hFor,pPara); //计算表达式的值' u p; n- R2 Z7 @; G0 g
- cout<<Val.x<<endl;
- 6 ?$ V6 x0 p C+ s
- }
- 6 {5 Y/ S1 R, \- D4 `
- FreeLu(); //释放Lu
- . M* }5 P& q9 P; i
- }
运行结果:
) s! x6 B2 u( q: A
- f7 @$ C3 U7 X0 Z0 |4 J( t/ T: q2
& P% z5 R, f! o请按任意键继续. . .# o: E! U; ^+ ?$ s* V
|
zan
|