编程求解
一元四次方程
Hanford
2016 年 09 月 27 日
目 录
目 录
第 1 章 简介 ...............................................................................................................1
1.1 项目功能 ..........................................................................................................1
1.2 核心算法 ..........................................................................................................1
第 2 章 VC..................................................................................................................2
2.1 dllSDK..............................................................................................................2
2.1.1 目录结构 .....................................................................................................2
2.1.2 接口函数 .....................................................................................................2
2.1.3 编译 .............................................................................................................3
2.2 dllATL...............................................................................................................3
2.2.1 目录结构 .....................................................................................................3
2.2.2 编译 .............................................................................................................3
2.2.3 注册COM组件 ............................................................................................4
2.2.4 代码说明 .....................................................................................................5
2.3 dllNET ..............................................................................................................6
2.4 exeMFC ............................................................................................................6
2.5 exeSDK.............................................................................................................7
2.6 exeATL .............................................................................................................7
2.7 exeNET.............................................................................................................7
2.8 exeUseCom.....................................................................................................10
2.8.1 编译 ...........................................................................................................10
2.8.2 函数说明 ...................................................................................................10
第 3 章 Excel............................................................................................................12
3.1 执行 ................................................................................................................12
3.2 宏的安全性 ....................................................................................................12
3.2.1 Excel 2003 .................................................................................................12
3.2.2 Excel 2007 .................................................................................................13
3.2.3 Excel 2013 .................................................................................................14
I
目 录
II
3.3 代码解析 ........................................................................................................15
第 4 章 html..............................................................................................................17
4.1 注册COM组件 ...............................................................................................17
4.2 运行 ................................................................................................................17
4.3 代码解析 ........................................................................................................18
第 5 章 c#.................................................................................................................19
5.1 dllNET ............................................................................................................19
5.2 exeWF.............................................................................................................19
第 1 章 简介
第 1 章 简介
1.1 项目功能
本项目用来求解一元一次至四次方程。具体包括:
1、将求解一元四次方程的算法封装至动态库 SolveEquationDll.dll 内,供 V
B/Excel/C#等语言调用;
2、将求解一元四次方程的算法封装至 COM 组件 SolveEquationCom.dll 内,
供脚本语言(vbs 或 js)调用;
3、将求解一元四次方程的算法封装至.NET 组件 SolveEquationNET.dll 内,
供.NET 语言(VB.NET/C#……)调用;
4、使用 VC 编写本机程序,实现一元四次方程求解;
5、使用 Excel 调用动态库 SolveEquationDll.dll,实现一元四次方程求解;
6、使用脚本语言(vbs 或 js)编写 html 网页,调用 COM 组件 SolveEquat
ionCom.dll,实现一元四次方程求解;
7、使用 c#编写本机程序,实现一元四次方程求解;
8、使用 vb 编写本机程序,实现一元四次方程求解。
1.2 核心算法
核心算法请参考 doc 目录下的两个文档:
《一元四次方程-16.04.05.pdf》 公式(28)至(35)用来求解一元四次方程
《一元三次方程-16.04.06.pdf》 公式(29)至(34)用来求解一元三次方程
1
第 2 章 VC
第 2 章 VC
2.1 dllSDK
vc\dllSDK 存放着 dllSDK 项目。它是一个基础模块,封装了核心算法。
2.1.1 目录结构
目录结构请见下表:
文件夹 说 明
bin
存放编译结果文件(SolveEquationDll.dll、SolveEquationDl
l.lib……)。vc2010-x64-RU 表示编译器为 vc2010,平台为
x64,RU 表示 Release Unicode
inc
本模块暴露给客户程序的接口头文件,用来声明接口函数
客户程序要动态连接本模块,请包含 _Inc.h
客户程序要静态连接本模块,请包含 _Static.h
make-dll
VC 项目文件,编译生成动态库文件 SolveEquationDll.dll
及其导入库文件 SolveEquationDll.lib
make-libD
VC 项目文件,编译生成静态库文件 SolveEquationDllD.lib
使用的 C 运行时库文件是“多线程 DLL”版本
make-libT
VC 项目文件,编译生成静态库文件 SolveEquationDllT.lib
使用的 C 运行时库文件是“多线程”版本
make-libS
VC 项目文件,编译生成静态库文件 SolveEquationDllS.lib
使用的 C 运行时库文件是“单线程”版本
src
存放源代码
2.1.2 接口函数
接口函数在文件 inc\Solve.h 里,其定义如下:
SolveEquationDllI int __stdcall SolveEquation(const double z[],double x[]);
宏 SolveEquationDllI 的定义如下:
编译生成动态库时,宏 SolveEquationDllI 被定义为__declspec(dllexport);
编译生成静态库时,宏 SolveEquationDllI 被定义为空;
2