数学建模社区-数学中国
标题:
C/C++调用Lu的入门程序
[打印本页]
作者:
forcal
时间:
2011-10-19 21:30
标题:
C/C++调用Lu的入门程序
C/C++调用Lu的入门程序
8 I4 q9 B; a8 g$ q* n5 X) d! \
+ w# ]' R' I. D& t+ \5 x Y
仅需要以下支持文件:
$ A, Y! f' e y( v( ^" g1 \. H# q: k
$ v$ j) i" s1 b: O) r0 w
1、头文件lu32.h。
. q3 ]: s' [/ C. s
2、导入库lu32.lib。
. q- v) U" r* h
3、核心库lu32.dll。
#include <windows.h>
$ k# K9 r( d! `: m! `0 B) b" q
#include <iostream>
# |: d" }5 u, `
#include <math.h>
/ U- S9 t P7 T5 q7 l- A+ d( A5 V
#include "lu32.h" //Lu头文件
! Z& ?/ I* l1 V
9 Y# X5 X2 K' x' u: ?
#pragma comment( lib, "lu32.lib" )
" I- ?9 j* Z6 t6 p' h; f: k. j' {
8 _9 {& e. U9 j: ]$ G
using namespace std;
2 z% R2 m8 x: f6 c0 s
0 k. b/ }% h G5 V
void main(void)
! |( D7 M; Y& G: R; i" W2 K9 W
{
: c$ Q" s! \9 Z3 _& ?3 G- n A
void *hFor; //表达式句柄
; w/ ^3 W7 _* }$ n8 d( q" n
luINT nPara; //存放表达式的自变量个数
9 D/ Y R- M2 N! w% I! j0 a
LuData *pPara; //存放输入自变量的数组指针
% b b, e) _8 {6 i. Z
LuData Val; //存放表达式的值
0 n6 K( ]6 x- F5 F- d- B, z
luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
9 J7 \ m: |; J8 [
int ErrCode; //错误代码
( C" X; `, o9 x+ ~( j
wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
! e# A/ t# L( O* Z
int i;
2 @1 H1 |* B9 J3 s# C$ s
! h4 L4 m' `/ {: {2 \2 g/ W0 o
if(!InitLu()) return; //初始化Lu
. }2 m6 I9 ]2 i' `# f* L5 c
1 ?* a h$ d! h6 I8 P- y
ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
( y. J* _; J9 o) G* p1 S
if(ErrCode)
/ O+ N& f9 C- H) z5 p
{
# W; }+ ]; C2 h( n1 H, n0 s" Z
cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
& \# x; O) b/ A+ q B) ?) G
}
# t6 x. ]7 {5 B2 ]% q _
else
$ d6 k" [2 x8 g. }* E4 ?" x& l1 C; S
{
0 R% V. K! x! l
for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
7 P; ]( m/ a, s/ m, l" }6 G6 t
{
: T u7 j) Y8 C, u5 P2 ?. ?- X9 h
pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
' e" v5 P( o# X8 g" P
}
: N7 \# |( b# K y6 R
Val=LuCal(hFor,pPara); //计算表达式的值
1 D4 u6 u8 h/ ^; ]6 S, |9 ]
cout<<Val.x<<endl;
0 P$ h3 @2 C6 K& D4 z( C( G; }
}
1 Q0 V1 v- y) k$ K& Y
FreeLu(); //释放Lu
' |6 k$ w$ b& }: D9 w- N
}
复制代码
运行结果:
( H1 n# j' n1 u/ T
3 g3 ~1 c/ S) j, ^4 Y* }- E
2
. H& c% w) G) B, [+ h6 N
请按任意键继续. . .
, P5 g; a) d8 J5 q. g& z+ g
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5