zoukankan      html  css  js  c++  java
  • Lu核心库系统结构及输出函数

    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
  • 相关阅读:
    克如斯卡尔 P1546
    真正的spfa
    第四课 最小生成树 要点
    关于vscode中nullptr未定义
    cmake学习笔记
    python学习笔记
    (BFS 图的遍历) 2906. kotori和迷宫
    (图论基础题) leetcode 997. Find the Town Judge
    (BFS DFS 并查集) leetcode 547. Friend Circles
    (BFS DFS 图的遍历) leetcode 841. Keys and Rooms
  • 原文地址:https://www.cnblogs.com/riskyer/p/3310594.html
Copyright © 2011-2022 走看看