VC++使用MTParse数学表达式分析器.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC使用MTParse数学表达式分析器

VC++使用MTParse数学表达式分析器MTParse是一种能够实现在动态运行时进行复杂数学表达式灵活运算的C++开源库MTParser_src.zip:MTParse开发库源码,同时还包含了一些可用的功能扩展插件,您也可以到相关网站下载最新版本。 MTParser_demo.zip:这是作者提供的Demo程序MTParserLib.rar:这其中包括了VC++各个编译器版本集成MTParse时需要引入的LIB库,注意使用时必须根据编译器版本的不同选择相应的LIB库文件。同时您也可以通过您所使用版本的编译器编译MTParse源码以生成您想要的LIB文件。 include.rar:这是在使用MTParse基本功能时需要包含的一些必要头文件,这些文件也可以从MTParser_src.zip中获取。 MTParseV6Demo.rar:Visual Studio 6.0引入MTParse的Demo程序。 MTParseV02Demo.rar:Visual Studio 2002引入MTParse的Demo程序。 MTParseV05Demo.rar:Visual Studio 2005引入MTParse的Demo程序。 MTParseV08Demo.rar:Visual Studio 2008引入MTParse的Demo程序。 MTParse与各VC++编译器版本集成使用介绍 下图是经实际测试,MTParse在各版本编译器环境中的兼容情况: VC++编译环境/测试项 ANSI UNICODE 32Bits 64Bits 6.0 Y NA Y NA 2002 Y N Y NA 2005 Y Y Y NA 2008 Y Y Y Y [注]:Y表示能编译通过且成功运行。N表示无法编译通过或无法运行。NA表示不涉及的项目,可以忽略。Visual Studio 2010这次没有进行测试,理论上也是能够全部支持,如果需要,请自行予以验证。 下图是测试Demo运行效果: 下面,结合本人实际测试结果,简单介绍下如何在VC++各个版本中引入MTParse实现数学表达式动态计算加以说明。 1、在需要引入MTParse的VC++工程中,进入【工程属性】-【C/C++】-【代码生成】页修改【运行时库】选项。一般的,Release版本设置为多线程DLL,Debug版本设置为多线程调试DLL。通常情况下,编译器默认设置不需要更改。 2、在工程中包含如下头文件,且将include.rar中.h文件添加到工程指定目录中,如本例中是将MTParse相关的所有.h文件添加到和工程文件同级的MTParserLib目录中。 #include ../MTParserLib/MTParser.h #include ../MTParserLib/MTParserLocalizer.h 3、在适当位置(通常在staafx.h文件中)加入如下代码,将LIB库引入工程中,并在指定目录中包含所需的四个版本LIB文件(注意这四个LIB文件必须是由与当前工程一致VC++版本编译生成的)。如下这段代码会根据当前工程Debug/Release和ANSI/Unicode设置,选择引入合适的LIB库。 #ifdef _DEBUG #ifdef _UNICODE #pragma comment(lib, ../MTParserLib/lib/MTParserUd.lib) #else #pragma comment(lib, ../MTParserLib/lib/MTParserd.lib) #endif #else #ifdef _UNICODE #pragma comment(lib, ../MTParserLib/lib/MTParserU.lib) #else #pragma comment(lib, ../MTParserLib/lib/MTParser.lib) #endif #endif 4、以上步骤完成后,就可以开始在项目的合适位置使用MTParse了。关于MTParse的所有功能使用方法,请参见附带的相关文档。 MTDOUBLE x, y, z; MTParser parser; CString strFormula; m_ctrFormula.GetWindowText(strFormula); if (strFormula.IsEmpty()) { AfxMessageBox(_T(请输入含有x、y或者z变量的方程式!)); return; } parser.defineVar(_T(x), x); parser.defineVar(_T(y), y); parser.defineV

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档