数学建模社区-数学中国
标题:
C/C++调用Lu的入门程序
[打印本页]
作者:
forcal
时间:
2011-10-19 21:30
标题:
C/C++调用Lu的入门程序
C/C++调用Lu的入门程序
" Y# q4 _3 I4 ]' y5 }# g
, y# u( _* i6 m9 X& x3 d
仅需要以下支持文件:
6 D! Y/ W0 Y# }3 l
5 {7 s5 {6 ~+ [! U$ Z7 Z- Y [
1、头文件lu32.h。
$ K) n9 p* }9 [2 [
2、导入库lu32.lib。
( z5 M1 d0 ]8 U0 c" {
3、核心库lu32.dll。
#include <windows.h>
! w+ t, n$ R8 l% Z: Q
#include <iostream>
% I% [6 D1 ~% E& Z" o7 Y- O
#include <math.h>
" |0 o9 {" r( R$ z
#include "lu32.h" //Lu头文件
2 L# I2 I% ~9 N7 G F# o. f
: k3 g: H" b. i% C
#pragma comment( lib, "lu32.lib" )
& N. g5 S ^: r1 D" v
1 w9 Y$ p; M2 L
using namespace std;
: s' Q8 c: M; y' i7 j2 i( h* R
1 y2 P( ?2 k% t2 n9 w( r& A1 K/ M
void main(void)
% ~& u, o* m( X8 v
{
2 T9 m+ C& L: T. G) e
void *hFor; //表达式句柄
/ Z+ G' W* x8 Q) x5 @
luINT nPara; //存放表达式的自变量个数
4 s0 U0 z- y8 p4 a
LuData *pPara; //存放输入自变量的数组指针
8 X3 d$ \' v8 G% D; G7 W
LuData Val; //存放表达式的值
5 r$ x3 |! ~* ~5 x: i
luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
6 _7 j) ]; e( _) |5 Y. P
int ErrCode; //错误代码
7 b5 \4 P( C B5 S# f/ j
wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式
8 o& v$ _ {+ `1 U5 [. `- q7 T2 E
int i;
7 E( a& F* A& M5 g2 H
& q- a& |9 ]# `
if(!InitLu()) return; //初始化Lu
% l! C( ]/ N/ G& V$ F9 p6 _
" }; M: W4 d3 S3 A: k+ l+ ?" w
ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式
. M( U- Y6 {: k
if(ErrCode)
& d7 }, F3 J4 J$ f
{
6 O! c! r4 K! ~
cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
8 U# x5 s$ ?# k, t' i5 k
}
' ^. z: A+ R# K4 c+ f" B4 d
else
) Y8 |: Z+ m$ O) F
{
2 [ n3 s; T5 |; }# o/ h9 b: e
for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为1
; t6 ~6 N8 l6 g" e# f, k
{
6 D, F6 U3 H, D" f1 d2 G" f
pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
" R7 M3 @4 m# g8 `- j5 Y
}
2 U/ {, z5 W. e! B2 d+ i
Val=LuCal(hFor,pPara); //计算表达式的值
$ K+ d2 t# Z3 L: }
cout<<Val.x<<endl;
( e. @1 D h! _: A6 q) Y
}
& h1 r" Q; H+ Y# I
FreeLu(); //释放Lu
* X/ ?6 \% Y5 U" c* b
}
复制代码
运行结果:
' Y) c. M1 S; i# j0 p6 \! F
! C% i/ @) U/ y J6 [
2
# U# g! p5 H4 q+ B# T0 _; k" W
请按任意键继续. . .
( H* h: w: X5 u
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5