王朝百科
分享
 
 
 

forcal

王朝百科·作者佚名  2010-04-17  
宽屏版  字体: |||超大  

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++、VB、delphi、FORTRAN等程序使用。

很容易对Forcal进行功能扩展, Forcal扩展动态库中仅有一个输出函数 ForcalDll(...),设计和应用都很方便。可用C/C++、delphi、FORTRAN等语言设计Forcal扩展动态库。

Forcal运行要求Forcal32.dll V8.0 用VS 2008编译生成,动态库版本需要MSVC运行库的支持,静态库版本不需要。软件包中提供了Forcal的两种版本。Forcal动态库版本文件小于100K,静态库版本约200K~300K。 使用Forcal动态库时若程序不能正常运行,需要用户自行安装所需的MSVC运行库,安装方法从网上可以查到,本软件包中不再提供。强烈建议使用Forcal的动态库版本。

由于VS 2008的编译机制所限制,Forcal32.dll V8.0不能在Windows98中运行。

从Forcal V7.0进行升级与Forcal V7.0相比,Forcal V8.0的性能有了很大提升,使用方法也有所不同,如下所示:

软件用户:

1.标识符区分大小写。这是与Forcal V7.0的最大不同。

2.增加了冒号运算符,与逗号运算符完全相同。

3.增加了自动静态变量free,用以支持表达式销毁前的释放工作。

4.可以用const函数定义永久性常量和暂时性常量。

5.整数表达式中增加了求模运算符“%”,取消了乘方运算符“^”,乘方运算用函数pow实现,取消了求模函数mod。

6.单目运算符-(负)与双目运算符^(乘方)需用括号区分计算的先后顺序。如:(-2)^2或-(2^2)。

7.取消了内置数组,由FcData中的数组代替。

8.增加了转义字符xNN,支持16进制输入。

9.增加了函数GetCalByte,可以获得调用其他类型表达式或其他类型二级函数时计算结果的按字节拷贝值。

10.增加了类成员运算符(函数参数运算符)。

11.增加模块命名空间。

编程用户:

1.获得和设置FORCAL运行错误的函数GetRunErr和SetRunErr有变化,以支持更详细的出错信息。

2.增加模块加锁函数LockModule,支持更健壮的大型程序设计。

3.编译表达式函数RealCom、RealCom和ComplexCom的第二个参数的意义有变化,与增加模块加锁功能有关。

4.删除表达式函数DeleteFor的功能有变化,与自动静态变量free配合,支持表达式销毁前的释放工作。

5.取消了获得数组信息函数GetArray,由FcData中的数组代替。

6.键树操作函数InsertKey、SearchKey、DeleteKey和DeletePrivateKey的第二个参数意义有变化,可支持含NULL字符的数据存储查询操作。函数EnumKeyTypeValue的最后一个参数回调函数的参数有变化,可以返回含NULL字符的数据。

7.信息交换函数ExMsgWithForcal的参数意义有变化。

8.增强了获得表达式信息函数GetFor的功能。

Forcal 后续版本计划1.Forcal V9.0:与Forcal V8.0功能基本相同,但为Unicode版本,很可能增加支持汉字等多国语言的标识符。预计在2009年夏天完成该版本。

2.Forcal V10.0:与Forcal V8.0功能基本相同,仍是ANSI版本,但升级为Forcal V8.0的64位版本。预计将在更晚些时候完成。

3.Forcal V11.0:与Forcal V8.0功能基本相同,但为Unicode版本,且升级为Forcal V8.0的64位版本,很可能增加支持汉字等多国语言的标识符。预计将在更晚些时候完成。

4.Forcal的Linux版本,预计将在更晚些时候完成。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有