Lu核心库系统结构及输出函数
Lu来源于 Forcal ,可以说,没有Forcal就没有Lu,但学习Lu并不需要了解Forcal。
Lu是对Forcal的完善和发展,但与Forcal相比,Lu更简洁实用。Lu的运行效率,从单纯的数值计算和循环来说,是下降的,其他方面,特别在涉及动态对象的地方,Lu的效率会提高。Lu与Forcal本质的区别在于:Forcal以整数、实数、复数三种简单数据类型为基础,在描述复杂对象时,本身不带有数据类型信息,故是弱类型的;Lu以一种称为 LuData 的结构体作为基本数据类型,携带数据类型信息,故是强类型的。
Lu是一个可对字符串表达式进行动态编译和运行的动态链接库(dll),是一种易于扩展的轻量级嵌入式脚本,提供自动内存管理,也可以手动管理内存。Lu可用于连接各种语言编写的模块。Lu的优势在于简单易用和可扩展性强。
Lu 用Win32标准函数调用方式(stdcall调用协议)输出了动态库函数,可供C/C++、VB、delphi、FORTRAN等程序使用。
Lu核心库中主要包含一个编译器LuCom、一个执行器LuCal和一个键树用以保存各种数据。Lu核心库系统结构及输出函数如图1及表1所示。
图1 Lu核心库系统结构及输出函数关系图
表1: Lu 输 出 函 数 |
|
3.1 版本信息函数:
LuVer
3.2 初始化Lu: InitLu 3.3 释放Lu: FreeLu 3.4 获得Lu运行错误: GetRunErr 3.5 测试Lu运行错误: TestRunErr 3.6 设置Lu运行错误: SetRunErr 3.7 编译表达式: LuCom 3.8 计算表达式的值: LuCal 3.9 锁定一个模块: LockModule 3.10 设置外部二级函数: SetFunction 3.11 设置常量: SetConst 3.12 二级函数返回一个动态对象: FunReObj 3.13 二级函数保存动态对象: FunSaveObj 3.14 判断一个表达式是否有效: IsFor 3.15 获得表达式信息: GetFor 3.16 判断表达式的自变量是否重新赋值: ParaModify |
3.17 删除一个表达式:
DeleteFor
3.18 获得字符串: GetStr 3.19 获得数组: GetArray 3.20 申请系统内置动态对象: NewSysObj 3.21 重置系统内置动态对象: SetSysObj 3.22 插入一个键: InsertKey 3.23 查找一个键: SearchKey 3.24 删除一个键: DeleteKey 3.25 枚举指定键值类型所对应的所有字符串及键值: EnumKey 3.26 锁定键的类型: LockKey 3.27 按指定类型执行运算符重载函数: ExeOperator 3.28 垃圾收集时标记一个指针键(对象): SignGoodObj 3.29 垃圾收集: GC 3.30 从缓冲池中获取一个对象: GetBufObj 3.31 与Lu交换信息: ExMsgWithLu |