- 在线时间
- 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的入门程序
! l# M. e# S' b3 z7 s/ G2 m' V! s9 w K5 g/ e. ]. r
仅需要以下支持文件:
3 }5 s" B. L& m+ R8 K" I# z
% G; J _4 M7 W- S+ {0 `5 D0 e1、头文件lu32.h。
! N P* W( x/ u7 k i4 ~( s( ?2、导入库lu32.lib。/ r8 x$ l# o; G1 c0 G, Q* u
3、核心库lu32.dll。 - #include <windows.h>
- 1 Z# U; N6 H\\" G8 S: F7 ~
- #include <iostream>- Q3 K; L\\" f. k( t+ j) C
- #include <math.h>
- / S) b' f1 z! ^( X* W. Y8 F
- #include "lu32.h" //Lu头文件
- 3 j& e* {, g7 D: W) U
- 8 B* H0 O- W# q3 B8 f+ H8 P8 i
- #pragma comment( lib, "lu32.lib" )
- & D& h4 [- V+ }9 r1 D' b Y& u
- ( I6 n S. {! U; J. ]% h% x M
- using namespace std;
- 5 K0 l% J( O+ Y+ k) ]
- 1 K$ P% {' t, @$ ^5 F6 h
- void main(void)+ p( U* I$ S2 G1 Y- s! Z4 {) n
- {/ I* ?% ]/ w8 O5 q/ P& O
- void *hFor; //表达式句柄; N( [ w/ W/ C6 |, D, {& T' W- y
- luINT nPara; //存放表达式的自变量个数
- & \. h( O; d w* E+ _; C9 f$ L
- LuData *pPara; //存放输入自变量的数组指针
- 8 j0 Q& D) M7 \; G) ?/ f. w
- LuData Val; //存放表达式的值
- 9 y# _6 `+ \3 J) N0 x
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置; T\\" N% T* l4 a$ G+ p2 k0 D
- int ErrCode; //错误代码: w. L8 v' R) e+ M5 H+ }
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式3 s9 C5 T5 o) P- n' [, J5 E
- int i;
- , N, g) t% k+ {, q6 S% G8 K8 u5 F# O2 w
- . D5 L6 p. j4 }$ ?9 z
- if(!InitLu()) return; //初始化Lu
- # o7 o\\" I; J& s$ J+ P8 C% ^0 i
- . y2 F; f% B+ e
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式' C( z- Y5 d\\" j# b, y
- if(ErrCode)! i8 v; B6 x/ y! s# W% K4 g3 r( b
- {
- * E2 }. V' }% M\\" }& j& o7 c: F5 E
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- 0 z) b; X% Q5 `+ C1 ^ u# s# ^0 A
- }
- ( R5 y* j0 H, t0 j
- else
- }$ R* D7 X/ T* U; G4 x
- {& Q1 [' {2 J5 i/ H8 D& G, o: ]4 |; U
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1/ Q8 R; h3 ?, c1 m8 Z9 t
- {% u; j/ ]7 g' [/ p( h( K9 A
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- 9 u+ v/ b, i) m7 J# R
- }% M1 H; Z3 O1 h6 ?% v
- Val=LuCal(hFor,pPara); //计算表达式的值2 U8 W/ F) q7 [6 ^, a, O
- cout<<Val.x<<endl;
- ! T- W; k) a1 ^
- }) S1 y. W% Y9 a\\" O
- FreeLu(); //释放Lu) |1 R% D% @1 d. r- i8 _4 |
- }
运行结果:
0 J2 i5 r9 ~/ |( p4 k1 w+ e# T4 p0 `" U6 g9 A! m* \
2
+ Q4 ?4 U6 |8 o请按任意键继续. . .
. c; P' j7 n$ h- `% {2 w6 t |
zan
|