- 在线时间
- 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的入门程序8 X6 S0 B! H0 ^/ J' ~& V5 u! W) p
5 O: Z% K: R$ J2 m$ {, s仅需要以下支持文件:: l3 I) p' i8 r5 y$ ^! U$ _" {0 e) p4 k
2 m* L6 f u8 |+ S
1、头文件lu32.h。, h3 C) Z* [' S9 t! c
2、导入库lu32.lib。
- n6 N( G/ D$ Q! G3、核心库lu32.dll。 - #include <windows.h>% {1 w! c8 y+ {: D Q. v
- #include <iostream>
- 6 H9 A5 B\\" w0 ~0 z& k7 U5 P
- #include <math.h>
- : l3 ~: S0 J3 U
- #include "lu32.h" //Lu头文件
- 6 u/ j) e1 D/ K# o5 \
- D9 _# n% c3 |6 F5 k
- #pragma comment( lib, "lu32.lib" ). I4 m- I6 a, k8 [ E5 a* z
- 3 B1 G7 `: H1 ?, P. z; U; {3 q
- using namespace std;
- $ S; C$ E% V N7 u- s
- + a3 U R& B1 j+ x
- void main(void)
- ) L8 f& J' z' ]% Y/ S- [
- {, {+ X4 r, T; \( i) A C
- void *hFor; //表达式句柄
- 6 v& U* C! j8 @9 V2 b) W# j$ e
- luINT nPara; //存放表达式的自变量个数5 L( h7 I0 Q( h! M2 E! g0 n# m
- LuData *pPara; //存放输入自变量的数组指针
- \\" d7 f- D; E( X1 T! z! r5 [7 Q% j
- LuData Val; //存放表达式的值
- ) e; w! }4 d+ u5 C& z* m
- luINT ErrBegin,ErrEnd; //表达式编译出错的初始位置和结束位置
- 6 k B6 M! {. W+ P7 z) \
- int ErrCode; //错误代码/ P8 S/ n8 f8 a1 Z# W# }+ B
- wchar_t ForStr[]=L"f(x,y)=x+y"; //字符串表达式, z/ v9 C1 L; t& k3 t
- int i;
- & E, y( D/ l! P# q! n
- 7 ?) u# X$ x' S: b3 [
- if(!InitLu()) return; //初始化Lu
- ; ?$ O% P' h\\" d2 P0 P
- 6 _& r6 H6 K$ l1 L& g
- ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式# n R- \, e4 P
- if(ErrCode)6 n/ [( C) w: H+ _) ^/ z) r2 j, j% F
- {& @$ O, d) y\\" P. i
- cout<<"表达式有错误!错误代码:"<<ErrCode<<endl;
- . v, B$ C& D, {* x# V
- }0 E9 h7 L3 b\\" ?# _. B
- else* j. S2 d8 u e. _ r& i, E& n
- {
- 3 B' b# |; g ^. G- ] }1 F
- for(i=0;i<=nPara;i++) //表达式自变量赋值,均赋值为11 i7 Q8 R* r* j# S& ~! c
- {
- ' y8 `+ D( X* p) y. l1 h
- pPara[i].BType=luStaData_int64; pPara[i].VType=luStaData_int64; pPara[i].x=1;
- * j' Z# c8 q% _* k. y& k, u& I# {
- }
- 9 {# i* t$ c: C+ O9 j& {
- Val=LuCal(hFor,pPara); //计算表达式的值$ F/ M$ a\\" {2 T, d0 X- i1 p3 o
- cout<<Val.x<<endl;, S/ h1 K! Z/ N z! z
- }\\" r0 ]+ i( \' ^3 s. g$ o; h
- FreeLu(); //释放Lu$ i( O9 | D/ c+ B& b! d
- }
运行结果:4 `. x1 h E# d' c8 Y9 x) A- J
, y# ]5 Q; O7 C
2+ Q/ ?# x; N3 Y2 E
请按任意键继续. . .
6 a" O7 x1 R2 D9 d4 A |
zan
|