- 在线时间
- 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的入门程序& v. C% Z( g2 p0 w* I r' ?' x6 a
2 @9 G6 m+ x6 l1 N' T
仅需要以下支持文件:9 j2 p% b* i4 u; o6 R, q1 _
3 N6 q$ |" _7 g1 C( e2 \
1、头文件lu32.h。/ y# Y+ m3 Y! t6 [3 o6 J
2、导入库lu32.lib。; j) U6 @/ x I. E4 @
3、核心库lu32.dll。 - #include <windows.h>4 e6 k. P, s# P* C
- #include <iostream>8 ^8 N* H9 F( `( Y
- #include <math.h>
- ) G. Y3 s2 |8 t* U( z
- #include "lu32.h" //Lu头文件/ B- W F4 F; e* h3 o( o
- 8 c; I6 d% i1 C: `; {( o
- #pragma comment( lib, "lu32.lib" )4 a7 `% t) |5 a\\" H! i
- & t+ j# h- Y5 Q( _- N, V\\" Q
- using namespace std;! p; _( t* {\\" r6 \, f
- * j+ K\\" z1 b# \. R
- void main(void)' L/ n! l\\" ?4 G* e3 l
- {
- ( w1 R' F. ?\\" T1 v% l
- void *hFor; //表达式句柄3 k) @/ |# K8 ? m8 Z6 z5 w
- luINT nPara; //存放表达式的自变量个数
- $ f v4 j( }( E w
- LuData *pPara; //存放输入自变量的数组指针- m2 R9 G7 H9 H+ j. w q
- LuData Val; //存放表达式的值# n, r) H! L6 }\\" I* E( U$ N
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- ' V% T% T# Y& g' m, C
- int ErrCode; //错误代码
- % \ G4 V9 |! M6 }( X
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
- 3 n5 g9 }1 u- o8 q5 g
- int i;) L\\" R l2 y/ t; @- m8 {! L
- / c6 d, }) N, ^7 d0 S ^
- if(!InitLu()) return; //初始化Lu
- 1 l- [\\" g( G\\" y' M \
- 1 p- @* A4 H1 u
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式' L* F\\" b' G* X+ e: _
- if(ErrCode)
- * y4 a6 n- o6 Q! y: X9 T
- {
- ' b. M( o j- P; W+ \
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;; ?% m5 K3 F/ u% c. C
- }
- 8 y [5 t8 X7 y( | q: T
- else
- , f6 t\\" r4 \7 X9 x2 M
- {
- + w1 G* y8 Y% Z
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
- & z7 Q/ V% a9 Y8 a, `, I$ x+ _
- {
- 3 q( Z: M, M# o; X* K\\" u* A6 r. o
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- \\" R' X8 i1 d) M- X4 g) z
- }- N3 z* B+ f& A e
- Val=LuCal(hFor,pPara); //计算表达式的值
- 6 Q3 z/ y% M1 p A6 T# o
- cout<<Val.x<<endl;
- ( h: u7 @. c( H% Z3 s6 c9 R
- }
- : c1 K6 f# Z/ p' |\\" f
- FreeLu(); //释放Lu6 {9 D3 O1 P( @0 u
- }
运行结果:
3 Y0 M( ?% x2 J! a" {9 [7 Z0 Y/ b" T+ U8 G+ X# {
22 _! l* E# a# z& A1 w* o) d! \2 N- R
请按任意键继续. . .
1 g1 |- q c9 T |
zan
|