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 |
Lu核心库系统结构及输出函数的更多相关文章
- Swift 正式开源, 包括 Swift 核心库和包管理器
Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章.自从苹果发布 Swfit 编程语言,就成为了历史上发展最快的编程语言之一.Swift 通过设计使得软件编写更加快速更加安全 ...
- APICloud支持Atom编辑器,并建立开发工具核心库
APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支持策略,开发者无论使用Sublime Text3.Eclipse还是Webstorm,都可以在APICloud平台中找到 ...
- 【Java疑难杂症】利用Java核心库实现简单的AOP
Spring是一个十分火热开源框架,而AOP(面向切面编程)则是Spring最重要的概念之一,为了更好的理解和学习AOP的思想,使用核心库来实现一次不失为一个好方法. 首先介绍一下AOP的概念,AOP ...
- .NET 解决方案 核心库整理
一系列令人敬畏的.NET核心库,工具,框架和软件: https://www.cnblogs.com/weifeng123/p/11039345.html 企业级解决方案收录: https://www ...
- 一系列令人敬畏的.NET核心库,工具,框架和软件
内容 一般 框架,库和工具 API 应用框架 应用模板 身份验证和授权 Blockchain 博特 构建自动化 捆绑和缩小 高速缓存 CMS 代码分析和指标 压缩 编译器,管道工和语言 加密 数据库 ...
- maven项目中更新了核心库后导致一些包提示未定义,如:The import org.json cannot be resolved
经查看发现了原因,因为核心库的版本没有变更,本地仓库只更新了核心库的jar部分的库,没有更新核心库pom项目.从而导致了一些库的引用提示未定义. 以后有新库更新,最好在本地库删除全部的相关库,再mav ...
- APICloud重磅支持Atom编辑器,并建立开发工具核心库
APICloud技术再次升级,不仅支持Atom编辑器开发工具,并推出核心开发工具库,使开发者进行App开发更便捷高效. APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支 ...
- AIR32F103(五) FreeRTOSv202112核心库的集成和示例代码
目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...
- 更新引用google的cdn外部jQuery核心库JS文件
jquery-2.0.3 注!不再支持IE 6/7/8 直接引用地址: <script src="http://ajax.googleapis.com/ajax/libs/jque ...
随机推荐
- Android开发之SoundPool使用具体解释
使用SoundPool播放音效 假设应用程序常常播放密集.急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了.由于MediaPlayer存在例如以下缺点: 1) ...
- CloudStack全局配置參数
參数 描写叙述 类型 默认值 account.cleanup.interval 清除用户账户所须要等待的时间(秒) 整数 86400 agent.lb.enabled If agent load ba ...
- BZOJ 3545: [ONTAK2010]Peaks( BST + 启发式合并 + 并查集 )
这道题很好想, 离线, 按询问的x排序从小到大, 然后用并查集维护连通性, 用平衡树维护连通块的山的权值, 合并就用启发式合并.时间复杂度的话, 排序是O(mlogm + qlogq), 启发式合并是 ...
- Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)
在Ubuntu中UUID的两种获取方法,至于UUID是什么,你可以大概理解为分区的标识符,像条形码那样. 在终端中输入下面的命令就可心查看到分区UUID了.命令1.sudo blkid 命令2.ls ...
- 常见tcp端口
TCP端口 7 = 回显 9 = 丢弃 11 = 在线用户 13 = 时间服务 15 = 网络状态 17 = 每日引用 18 = 消息发送 19 = 字符发生器 20 = ftp数据 21 = 文件传 ...
- salon_百度百科
salon_百度百科 salon 编辑 是法语Salon一字的译音,中文意即客厅,原指法国上层人物住宅中的豪华会客厅.从十七世纪,巴黎的名人(多半是名媛贵妇)常把客厅变成著名的社交 ...
- ASP.NET Core 中文文档
ASP.NET Core 中文文档 翻译计划 五月中旬 .NET Core RC2 如期发布,我们遂决定翻译 ASP.NET Core 文档.我们在 何镇汐先生. 悲梦先生. 张仁建先生和 雷欧纳德先 ...
- 基于Spring的Web缓存
缓存的基本思想其实是以空间换时间.我们知道,IO的读写速度相对内存来说是非常比较慢的,通常一个web应用的瓶颈就出现在磁盘IO的读写上.那么,如果我们在内存中建立一个存储区,将数据缓存起来,当浏览器端 ...
- Linkedin工程师是如何优化他们的Java代码的(转)
英文原文:LinkedIn Feed: Faster with Less JVM Garbage 最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文.这篇博文介绍 ...
- Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...