欢迎访问 Forcal程序设计（www.forcal.net）
Forcal V9.0 使用说明
欢迎使用 FORCAL 开发使用说明 ！ 借助本说明可以了解 FORCAL V9.0 的全部详细信息。 1.熟悉Forcal基本语法（Forcal核心库语法和Forcal扩展库语法）。 2.使用Forcal核心库进行程序开发。 3.开发Forcal扩展动态库。 4.开发基于FcData的扩展库。 5.开发基于MForcal的扩展库。
目 录 | 简 介
1 什么是Forcal | Forcal是一个字符串表达式编译运行动态库。
■ 关于Forcal的声明 |
■ Forcal运行要求 | Forcal是绿色软件，免安装，不读写注册表。 Forcal32W.dll V9.0 用VS 2008编译生成，动态库版本需要MSVC运行库的支持，静态库版本不需要。软件包中提供了Forcal的两种版本。Forcal动态库版本文件小于150K，静态库版本约260K～300K。使用Forcal动态库版本时若程序不能正常运行，需要用户自行安装所需的MSVC运行库，安装方法从网上可以查到，本软件包中不再提供。强烈建议使用Forcal的动态库版本。 由于VS 2008的编译机制所限制，Forcal32W.dll V9.0不能在Windows98中运行。
2 Forcal核心库 | 只有一个动态库文件Forcal32W.dll。
■ Forcal用户 | Forcal用户有软件用户和编程用户两种。软件用户指使用由Forcal支持的软件的用户；编程用户指使用Forcal编程的用户。若不特别说明，一般指Forcal的软件用户。
■ Forcal新手参考 | 概括介绍Forcal的特点与功能，使用户对Forcal有一个大致的了解。介绍学习Forcal必须掌握的基本语法知识。
■ Forcal用户指南 | 从软件使用者的角度介绍Forcal的功能和用法。 所有源代码可通过测试程序 ForcalTest.exe、ForcalDemo.exe 或 MForcalDemo.exe 进行演示。ForcalTest是控制台程序，输出计算结果比较快。ForcalDemo和 MForcalDemo 是windows程序，界面更友好一些。
■ Forcal编程指南 | Forcal用Win32标准函数调用方式（stdcall调用协议）输出了动态库函数，可供C/C++、C#、VB、delphi、FORTRAN等程序使用。介绍如何使用Forcal进行软件开发。
■ 循序渐进Forcal例程 | 从简单到复杂的一些使用Forcal编程的例子。
■ 如何在Forcal中添加对象 | 开发者在软件中添加一些对象，然后通过脚本操作这些对象，这是许多程序员的梦想。本文提供的是在主程序中添加对象的例子，这些例子都是控制台应用程序。
■ 数据存储和检索 | 数据存储和检索是Forcal的另一特色。可以使用Forcal保存任意类型的数据，且具有很高的查找效率。 相关函数请参考Forcal编程指南，例子请参考源程序ForcalData.cpp（在文件夹“ForcalData”中）和头文件Forcal32W.h。
■ 演示程序源代码 | 演示程序ForcalTest、ForcalDemo 和 MForcalDemo 实现了不同寻常的功能，但源代码并不长，熟悉这些代码，就可以随心所欲地使用Forcal！ 源代码在文件夹code的相关子文件夹中，C/C++例子要加入头文件forcal32w.h一起进行编译。此外还有C#调用Forcal的例子 、Delphi7调用Forcal的例子。 C/C++及C#源代码由VS 2008编译通过，注意要将活动解决方案配置为“Release”。Delphi源代码由Delphi7编译通过。 通过源代码，可以了解如何在程序中加载使用Forcal32W.dll，如何使用Forcal编译字符串表达式，如何向Forcal注册自定义的各种常量或函数，如何加载Forcal扩展动态库等等。
3 Forcal演示程序 | 虽然是演示程序，但并不局限于演示一些小程序，借助于本软件包中附带的Forcal扩展动态库，演示一些大型计算项目是完全可以的。
■ ForcalTest | 控制台演示程序。由Forcal支持。
■ ForcalDemo | windows演示程序。由Forcal支持。
■ M ForcalDemo | windows演示程序。由Forcal和MForcal支持。
■ AutoMfc | Forcal实用程序，由Forcal和MForcal支持。可以自动运行扩展名为.AFC的MForcal源文件。
■ OpenFC | OpenFC全面演示了Forcal的应用，由Forcal和MForcal支持。可以从作者网站、天空软件站、华军软件园等多家站点下载到该程序。
4 Forcal扩展动态库 | 使用Forcal核心库的输出函数，用户可构建自己的处理系统。但作者也根据Forcal核心库的输出函数，构建了一套系统——以Forcal扩展动态库的形式对Forcal进行了功能扩展，FcData、MForcal、FcString、FcSystem等即是这套系统的重要组成部分；这套系统是以FcData和MForcal两个库为基础的，FcData提供了基本数据类型扩展功能，MForcal可对Forcal源程序进行模块化编译。
■ Forcal扩展动态库 | Forcal扩展库基本格式。介绍如何对Forcal进行功能扩展。Forcal扩展动态库中仅有一个输出函数 FcDll32W(...)，设计和应用都很方便。可用C/C++、delphi、FORTRAN等语言设计Forcal扩展动态库。
■ 例子1：FcConst.dll | 用于向Forcal添加常量，添加完常量即可卸载该库。 源程序文件和模块定义文件在文件夹“dll_FcConst”中。 用VS 2008新建一个“Win32 dll”工程，将相应的源程序文件、模块定义文件和头文件Forcal32W.h添加到该工程，编译时将活动解决方案配置为“Release”。
■ 例子2：Example.dll | 向Forcal注册了几个函数。 源程序文件和模块定义文件在文件夹“dll_Example”中。 编译方法同上。
■ 用Delphi设计Forcal扩展动态库 | 用Delphi设计Forcal扩展动态库的简单例子。源程序文件在文件夹“dll_DelphiFcDll”中。
■ 如何在Forcal扩展库中添加对象 | 开发者在软件中添加一些对象，然后通过脚本操作这些对象，这是许多程序员的梦想。 本文提供的是在Forcal扩展库中添加对象的例子，有两种方法可以将一个任意的对象添加到Forcal中，一种是添加FcData可管理的对象；另一种是通过Forcal32W.dll的输出函数添加对象。
■ 在软件中加入Forcal&MForcal支持 | 在软件中加入Forcal & MForcal支持是一件很容易的事，比直接使用Forcal设计程序要简单地多。有了MForcal提供的模块化编译功能的支持，可在软件中方便地使用脚本函数。如果软件能动态地加载Forcal扩展库，软件将由此获得无限的可扩充性－－没有人可以描述软件所能实现的全部功能，包括软件设计者自己。
5 两个重要的 Forcal 扩展库 | 是其他Forcal扩展库运行的基础。
■ Forcal数据扩展动态库FcData | 该库对Forcal的数据类型进行了扩展。基本数据类型包括简单数据和数组，可以自定义类。通过FcData32W.dll的输出函数接口，可以向FcData添加任意复杂的数据类型。基本操作对象是FcData数据指针。
■ Forcal模块化编译运行库MForcal | 对Forcal源程序进行模块化编译，能够编译运行具有固定格式的源程序（字符串表达式），源程序中可以使用C++风格的注释。
6 其他 Forcal 扩展库 | 有些扩展库以MForcal或FcData为基础，参考这里。
■ QuitFc | 退出Forcal运行时的无限循环。在任意可接受输入的窗口，按 Ctrl+Alt+Q(q) 键可以退出Forcal运行时的无限循环。 根据需要加载该库。
■ Forcal系统函数库 | 主要是Forcal系统或操作系统相关的函数。
■ Forcal标准输入输出系统 | Forcal标准输入输出系统。包含基于Windows的输入输出系统。
■ Forcal字符串库 | Forcal字符串库。包含ANSI及Unicode字符串的各种操作函数，包含正则表达式函数。
■ Forcal数值计算扩展动态库FcMath | 该库的数值算法是以矩阵为基础，并进行了运算符重载，具有内存消耗低、执行效率高、代码简洁、实用性强的特点。
■ Forcal数值计算扩展动态库XSLSF | XSLSF算法主要选自《C常用算法程序集》第二版，徐士良主编。在XSLSF中的函数是通过二级函数命名空间“XSLSF”输出的，所有函数均具有类似“XSLSF::rmul”的格式，全部是实数函数。主要内容包括矩阵运算，矩阵特征值与特征向量的计算，线性代数方程组的求解，非线性方程与方程组的求解，插值与逼近，数值积分，常微分方程组的求解，极值问题的求解，复数、多项式与特殊函数的计算等。这些算法都是行之有效的，基本可以满足解决工程中各种实际问题的需要。
■ Forcal数值计算扩展动态库FcIMSL | IMSL是一个集合数学与统计函数的链接库，拥有许多精准的数学统计算法，它的强大、可靠的数学与统计链接库能够在执行效率与计算资源间取得极佳的平衡。本说明包含封装IMSL库函数的方法。
■ Forcal参数优化扩展动态库FcOpt | 包含一些参数优化函数，具有极强的全局优化能力。
■ Forcal窗口库FcWin | 基于Windows的窗口库。
■ Forcal图形库OpenFcGl | 基于OpenGL的图形库。
■ Forcal图形库FC2D | 基于Windows API的2D图形库，多线程动态绘制图形是FC2D的基本特点。
7 General Forcal DLL | GForcal32W.dll是一个通用的Forcal脚本系统（简称GForcal）。GForcal可看作应用程序与Forcal之间的一个接口，但GForcal简化了Forcal脚本的使用。
8 Forcal高级语法概念 |
■ Forcal中的对象、函数和模块 | Forcal的核心库Forcal32W.dll中没有类和对象的概念，但Forcal32W.dll对功能扩展提供了很好的支持，利用Forcal32W.dll本身提供的编程功能和Forcal扩展动态库FcData及MForcal，很容易地构造出类及对象的概念。由于动态编译的特点，Forcal完全可以看作是面向对象的。
■ Forcal中的类模块及数据结构 | Forcal的核心库Forcal32W.dll中没有类和对象的概念，但Forcal32W.dll对功能扩展提供了很好的支持，利用Forcal32W.dll本身提供的编程功能和Forcal扩展动态库FcData及MForcal，很容易地构造出类及对象的概念。由于动态编译的特点，Forcal完全可以看作是面向对象的。
9 Forcal 软件构成 | Forcal软件的样子。
■ Forcal软件构成 | 由Forcal32W.dll支持的软件简称为Forcal软件。Forcal软件可分为两类：可执行程序和Forcal扩展模块。Forcal软件的构成是高度组合式的。
■ Forcal的用途 | 从三个方面讨论Forcal的应用。
10 其他 |
■ 最新升级内容 |
■ Forcal近期计划 | 1.逐步实现各种对象的运算符重载，特别是FcData对象。 2.不断丰富和更新Forcal的说明文档。 3.进一步丰富Forcal的各类库函数。
■ Forcal后续版本计划 | 1.Forcal V10.0：与Forcal V9.0功能基本相同，仍为Unicode版本，但升级为64位版本，Forcal V9.0的源代码可不加修改地在该版本中运行。预计将在晚些时候完成。 2.Forcal的Linux版本，预计将在更晚些时候完成。
■ Forcal其他开发设想 |
■ 关于Forcal的声明
1、任何人在使用或传播Forcal时，默认完全同意该声明。 2、任何人在传播Forcal时，必须在软件的显著位置包含本声明，并保证本声明的完整性（包括本声明中引用的网址）。 3、免责声明：尽管作者对Forcal32W.dll作了极为严格的测试，但仍不能保证没有丝毫错误，由于这些错误或用户判断错误造成的任何后果，本人皆不承担任何法律责任，不支付任何直接和间接的经济赔偿。如果您使用本软件或注册本软件，就默认认同了该“免责声明（disclaimer）”。特此声明。 4、您可以自由使用和传播Forcal32W.dll而不受任何限制，但您不能对Forcal32W.dll进行仿制、反汇编或逆向工程，或对Forcal32W.dll作其他任何形式的更改。 5、作者仅对Forcal32W.dll拥有全部版权，由Forcal32W.dll支持的实用程序的版权归实用程序的开发者所有。 6、最终用户（非商业性用户）可永久免费使用Forcal！ 7、作者仅对涉及Forcal（包括Forcal软件本身及相关资料）的商业性行为收费。注册费会根据情况进行调整，请以注册站或作者网站（www.forcal.net）公布的最新费用为准。 收费以双方协商、互惠互利的方式进行，或者自动按以下规定进行。 8、商业软件（包括共享软件）在使用Forcal时须支付费用，以年费形式缴纳。使用Forcal的年费为1套商业软件的费用，若Forcal在该商业软件中所起的作用较小，年费可少于1套商业软件的费用，但最低不少于100元/年（暂定）。若支付Forcal的年费少于1套商业软件的费用，须双方协商后确定，否则默认为1套商业软件的费用。自商业软件开始销售起三个月内，该商业软件的所有者（公司或个人）向Forcal软件的作者缴纳该费用，以后每隔12个月缴纳一次费用，直至该商业软件终止销售。 9、盈利性网站使用Forcal时须支付年费，暂定100元/年。 10、对于以上未提及的、或虽提及但未明确说明的涉及Forcal的商业性行为，行为人应与Forcal作者共同商定所支付的费用，若意见未达成一致，行为人应终止使用Forcal的商业性行为。 11、向Forcal作者支付费用时，可直接支付给作者本人（支付方式见作者网站），也可以通过网路中国共享软件注册中心(www.softreg.com.cn)、天空软件站-共享软件注册中心(Shareware.skycn.com)或华军软件商城-共享软件注册中心(www.pcsoft.com.cn)进行注册。注册Forcal之后，可以获得更好的技术支持和服务。 12、设计商业性Forcal扩展动态库（如工程计算模块、各种工具箱、数据库支持模块等） 是一种较好的值得推广的多方盈利模式。为使该库可借助任意已有的Forcal程序平台传播，取得最佳的效益，该库在设计时要按统一的设计规范提交验证， 详细请参考Forcal扩展动态库的设计说明。 13、使用Forcal的共享软件作者或网站站长在创业初期，若未盈利，可免交费用，但须以邮件或其他方式与作者联系，说明情况。 14、欢迎用户（普通的个人或知名的软件公司）与Forcal作者合作开发商业性Forcal软件并签订合同，以明确权利义务关系。 15、为促进本软件发展，最终用户（非商业性用户）使用Forcal时，可在自愿基础上向Forcal作者提供赞助，作者在此表示感谢！您的赞助将在最大程度上鼓励作者作出更多、更好的软件供大家使用，从而促进国产软件事业的发展。同时感谢以任何形式宣传Forcal的用户（例如向朋友介绍、在论坛发帖、以各种形式发布关于介绍Forcal的文章等）！ 16、任何人不能将Forcal32W.dll用于任何非法用途。 17、本软件受版权法和国际条约保护。任何人在使用和传播Forcal32W.dll时若违反以上条款，将在法律许可的范围内受到最大可能的起诉。
■ 简介
通常，使用各种高级语言如C/C++、VB、delphi、FORTRAN等设计的程序，不能对源代码进行动态编译，Forcal可为所有这些应用程序增加对字符串源代码的动态编译功能。Forcal可用于各类数学软件的设计，也可用作报表处理、web、组态软件、游戏等的脚本，具有很高的执行效率。 Forcal32W.dll是Forcal的32位Unicode版本，是一个对Unicode 字符型表达式进行编译计算的动态库。表达式中可以使用的运算符有+、-、*、/、^、>、>=、<、<=、==、!=、&、|、!、++、--等等，Forcal具有数值计算、逻辑运算、关系运算、字符数据处理、流程控制、函数调用等许多的可编程功能。 Forcal支持中文编程，可以使用中文标识符，如中文函数名、中文变量等。 Forcal用键树保存和检索数据信息，可以用Forcal保存和检索任意类型的数据，存储效率高，且具有很高的查找效率。 Forcal有许多内置的基本函数（一级函数和二级函数），不过可以使用(C/C++)、Delphi、FORTRAN等编译器方便地扩充这些基本函数（二级函数），你可以让这些函数完成不同凡响的功能。 Forcal支持整数、实数和复数三种类型的表达式，可以使用这些表达式在Forcal中设计自定义的函数。 Forcal在调用扩充的或自定义的函数时，就象调用系统内置的函数一样，没有任何分别。 Forcal对所有的函数都支持递归调用，不管这些函数是系统内置的，扩充的，还是自定义的。 Forcal在调用函数时，既支持传值调用，也支持传址调用（引用调用），当采用后一种方式时，可以从函数返回更多的值。 Forcal对代码进行尽可能的优化，因而运行速度也非常地出色，一级函数的计算速度约为(C/C++)或FORTRAN速度的50%左右，二级函数的速度稍有降低。 Forcal编译系统支持模块化编译，对设计复杂的软件项目很有帮助。 Forcal编译系统可以对编译时出错的位置进行准确定位，排除错误非常方便。 Forcal用Win32标准函数调用方式（stdcall调用协议）输出了动态库函数，可供C/C++、C#、VB、delphi、FORTRAN等程序使用。 很容易对Forcal进行功能扩展，Forcal扩展动态库中仅有一个输出函数 FcDll32W(...)，设计和应用都很方便。可用C/C++、delphi、FORTRAN等语言设计Forcal扩展动态库。 虽然Forcal32W.dll仅支持32位程序，但在32位平台上编写的Forcal代码，以后可不加修改地运行于64位平台。
■ 最新升级内容
编程用户（2011.05.08）： 1.升级了FcData、FcSystem和FcString三个扩展库，更好地支持了运算符重载。 编程用户（2011.05.03）： 1.新增用Delphi设计Forcal扩展动态库的简单例子。 编程用户（2011.03.28）： 1.核心库新增函数InsertKeyP、SignGoodObj和GC。增强了对象的运算符重载功能，并新增垃圾收集器。 软件用户（2011.03.28）： 1.新增垃圾收集器及相关函数。 编程用户（2011.03.06）： 1.新增Delphi7调用FORCAL的例子。 软件用户（2011.02.06）： 1.更新并增强了优化库FcOpt中 的优化函数，提高了全局优化能力及易用性。 软件用户（2011.01.17）： 1.优化库FcOpt中新增函数isolve和solve，可求解方程（组）的全部解。 软件用户（2010.12.18）： 1.新增基于Windows API的2D图形库FC2D，多线程动态绘制图形是FC2D的基本特点。 编程用户（2010.11.27）： 1.新增通用FORCAL脚本系统GForcal（General Forcal DLL）。GForcal可看作应用程序与Forcal之间的一个接口，但GForcal简化了Forcal脚本的使用。 软件用户（2010.9.15）： 1.增强了函数参数运算符“.”的功能，新增函数oset、oget，以支持简洁的函数调用。 2.新增数值计算扩展动态库FcMath，该库以矩阵运算为基础 ，并通过运算符重载使代码简洁。 编程用户（2010.9.15）： 1.输出函数 DeleteConstOrFunction、DeleteKey 和 DeletePrivateKey 返回一个bool值，表示操作是否成功。 2.增强了输出函数 ExMsgWithForcal 的运算符重载功能。 3.FcData的输出函数 RegFcDataType 有更改，以支持数据类型的运算符重载功能，新增部分输出函数。 软件用户（2010.8.5）： 1.新增函数oo{... ...}、o(p,... ...)、to(p)、oofree(p)，用于支持运算符重载。 编程用户（2010.8.5）： 1.扩充了输出函数 ExMsgWithForcal 的功能，以支持运算符重载。 软件用户（2010.6.3）： 1.新增函数free(p)，用于记录申请的对象，可在销毁表达式时自动销毁这些对象。 2.新增括号连接运算符“:=”。 3.允许设置编译表达式时将未定义的标识符编译为模块变量。默认情况下，模块变量须先定义，后使用。 编程用户（2010.6.3）： 1.允许设置编译表达式时将未定义的标识符编译为模块变量。默认情况下，模块变量须先定义，后使用。 软件用户（2010.3.12）： 1.新增基于IMSL的数值计算动态库FcIMSL。 软件用户（2010.2.10）： 1.在 Forcal字符串库FcString中增加了正则表达式的支持。 2.新增参数优化扩展动态库FcOpt。 软件用户（2009.8.1）： 1.支持中文编程，可以使用中文标识符，如中文函数名、中文变量等。 2.使用Unicode字符串作为Forcal默认字符串。扩展了字符串中的转义字符。可通过转义字符定义静态空间。 3.支持静态数组，相关的存取函数是一级函数，具有很高的执行效率。 4.整数表达式中的整数升级为64位，可进行更大的数的运算。 5.在整数表达式中增加了位运算函数，位运算函数是一级函数，具有很高的执行效率。 6.增加、修改、删除了部分一级函数及二级函数。 7.增加了访问命名空间的函数using。 8.修改了部分FcData函数，特别增加了标准格式化输出函数printff和printfs。 9.新增 FcIO、FcString、FcSystem等扩展动态库，极大地丰富了Forcal系统的功能。另新增Forcal数值计算扩展动态库XSLSF32W.dll，基本可以满足解决工程中各种实际问题的需要。 10.优化了演示程序 ForcalTest，新增演示程序ForcalDemo，可演示大的计算项目。 编程用户（2009.8.1）： 1.表达式字符串改为wchar_t字符串（Unicode字符串）。Forcal32W.dll的大部分输出函数使用 wchar_t字符串，少部分函数仍使用char字符串。 2.整数表达式中的整数升级为64位。 3.编译表达式返回的错误代码新增37、38、39。 4.指针数据保存在整数、实数或复数的前4个字节中。 5.FcData中real32数据（相当于C中的float数据）保存在整数或实数的前4个字节中。 6.FcData中使用Unicode字符串作为默认字符串。 7.强烈建议Forcal扩展动态库中的函数使用命名空间命名方式。 8.编程用户应编写移植性高的代码，可方便地移植到64位平台。 9.并行计算设想：在多核计算机中进行并行运算时，可复制Forcal32W.dll为多个副本Forcal32W1.dll、Forcal32W2.dll、... ...，同时加载Forcal32W.dll及各个副本，Forcal32W.dll及各个副本都有自己的地址空间，可独立运行互不影响，这样可实现并行计算。
■ Forcal其他开发设想
Forcal致力于发展成为一个通用的跨平台的脚本语言，既支持嵌入式开发，又自成体系，成为一个功能不断完善的动态语言。目前，Forcal主体结构（Forcal32W.dll）已基本完成，支持嵌入式开发方面可发挥地淋漓尽致，但要成为一个功能完善的动态语言，还有大量的工作要做，这不是依靠个人能力所能完成的。根据Forcal的声明，Forcal鼓励用户设计商业性的Forcal扩展动态库或其他类型的扩展模块，期待有志者的关注和参与。 以下是Forcal已经完成或正在进行的一些工作，包括一些需要用户参与的开发设想。
项目 | 描述 | 类型 | 支持库 （dll） | 难易程度 | Forcal动态语言系统 | 移植性 | 开发者 | 完成情况 | 项目性质 | 其他
FcData | 扩展Forcal数据类型。 | Forcal扩展动态库 | Forcal32W | 难 | 是 | 好 | 作者 | 正在完善 | 免费 |
FcDataEx | Forcal数据扩展动态库。在FcData32W的基础上，直接操作复杂的FcData数据类型 。 | Forcal扩展动态库 | Forcal32W FcData32W | 较难 | 是 | 好 | 作者或爱好者 | 尚未进行 | 免费，将开源 |
FcIO | 标准输入输出系统。 | Forcal扩展动态库 | Forcal32W FcData32W | 较难 | 是 | 好 | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
FcString | 字符串库。支持正则表达式。 | Forcal扩展动态库 | Forcal32W FcData32W | 较难 | 是 | 好 | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
FcSystem | Forcal系统函数库，主要是Forcal系统或操作系统相关的函数。 | Forcal扩展动态库 | Forcal32W | 一般 | 是 | 差 | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
FcMath | Forcal数值计算扩展动态库，基于矩阵算法，支持运算符重载。 | Forcal扩展动态库 | Forcal32W FcData32W | 较难 | 是 | 好 | 作者或爱好者 | 正在完善 | 免费，已开源 | 源代码在作者网站
XSLSF | Forcal数值计算扩展动态库，基于徐士良算法。 | Forcal扩展动态库 | Forcal32W FcData32W | 较易 | 是 | 好 | 作者或爱好者 | 正在完善 | 免费，已开源 | 源代码在作者网站
FcIMSL | Forcal数值计算扩展动态库，基于IMSL算法。 | Forcal扩展动态库 | Forcal32W FcData32W | 较易 | 是 | 好 | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
FcOpt | Forcal参数优化扩展动态库。 | Forcal扩展动态库 | Forcal32W | 难 | 是 | 好 | 作者 | 正在进行 | 目前免费 |
QuitFc | 退出Forcal运行时的无限循环。 | Forcal扩展动态库 | Forcal32W | 易 | 是 | 易移植 | 作者 | 完成 | 免费，已开源 | 源代码在作者网站
MForcal | 对Forcal进行模块化编译。动态语言系统将基于此库而构建。 | Forcal扩展动态库 | Forcal32W | 一般 | 是 | 易移植 | 作者 | 完成 | 免费 |
GForcal | 通用的Forcal脚本系统的接口库。简化了Forcal脚本的使用。 | Forcal接口动态库 | Forcal32W FcData32W MForcal32W | 一般 | 是 | 易移植 | 作者 | 完成 | 免费 |
AutoMfc | 自动运行AFC文件。 | 程序 | Forcal32W MForcal32W | 一般 | 是 | 易移植 | 作者 | 完成 | 免费，已开源 | 源代码在作者网站
OpenFc | Forcal演示程序，将增加语法高亮功能。 | 程序 | Forcal32W MForcal32W | 较难 | 是 | 差 | 作者 | 基本完成 | 免费，已开源 | 源代码在作者网站
OpenFcGl | 基于OpenGL的进行图形绘制的动态库，将尽可能全面封装OpenGL函数。 | Forcal扩展动态库 | Forcal32W FcData32W | 较难 | 是 |  | 作者或爱好者 | 正在完善 | 免费，已开源 | 源代码在作者网站
FC2D | 基于Windows API的2D图形库FC2D，多线程动态绘制图形是FC2D的基本特点。 | Forcal扩展动态库 | Forcal32W MForcal32W FcData32W | 难 | 是 | 差 | 作者或爱好者 | 正在进行 | 免费 |
FcWin | 是一个Windows窗口库，包含一些实用窗口函数。例如：用户可在控件窗口中自定义多个控件。 | Forcal扩展动态库 | Forcal32W FcData32W | 难 | 是 | 差 | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
FcScript | 脚本控件，用于网络编程。 | COM/ATL | Forcal32W MForcal32W | 较难 |  |  | 作者或爱好者 | 正在进行 | 免费，已开源 | 源代码在作者网站
PortMaster | 通用端口（RS232、GPIB）数据采集程序。其中FcPort.dll可适应任意端口。 | 程序 | FcPort Forcal32 QuitFc32 | 一般 |  |  | 作者 | 完成 | 免费 |
FcCurve | 一元函数绘图程序、实验数据处理程序。 | 程序 | Forcal32 | 一般 |  |  | 作者 | 完成 | 免费，已开源 | 源代码在作者网站
| 数据库系统。 | Forcal扩展动态库 | Forcal32W FcData32W | 难 | 是 | 较好或好 | 爱好者或商业用户 |  | 未知 |
| 封装IMSL、Intel MKL等数学库。与封装徐士良算法的XSLSF库类似。 | Forcal扩展动态库 | Forcal32W FcData32W | 较易 | 是 | 好 | 作者或爱好者或商业用户 |  | 未知 | 工作量大
| 封装任意C/C++、Fortran、delphi等库函数。 | Forcal扩展动态库 | Forcal32W FcData32W | 一般 | 是 | 好 | 作者或爱好者或商业用户 |  | 未知 | 工作量取决于所封装的函数多少
| 并行计算设想：在多核计算机中进行并行运算时，可复制Forcal32W.dll为多个副本Forcal32W1.dll、Forcal32W2.dll、... ...，同时加载Forcal32W.dll及各个副本，Forcal32W.dll及各个副本都有自己的地址空间，可独立运行互不影响，这样可实现并行计算。 | Forcal并行计算服务器 | Forcal32W | 难 | 是 | 好 | 作者或爱好者或商业用户 |  | 未知 |
| 分布式计算设想：把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分，然后把这些部分分配给许多计算机进行处理，最后把这些计算结果综合起来得到最终的结果。 | Forcal分布式计算服务器 | Forcal32W | 难 | 是 | 好 | 作者或爱好者或商业用户 |  | 未知 |
| ... ... |  |  |  |  |  |  |  |  |
说明1：项目难易程度仅仅是根据作者的感觉给出的，仅作参考。Forcal封装各种数学库函数较容易，因而此类项目难度较小。 说明2：移植性好表示是纯C/C++代码，移植性差表示包含大量Windows函数，以此类推。未开发项目的移植性表示一种期望。
版权所有© Forcal程序设计 2002-2011，保留所有权利 E-mail: forcal@sina.com QQ：630715621 最近更新: 2011年05月13日