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 ...
随机推荐
- UVA 10581 - Partitioning for fun and profit(数论递推)
10581 - Partitioning for fun and profit 题目链接 题意:给定m, n,表示分配给n个格子,分配m个数字进去,每一个格子最少1,而且序列要是递增的,问第k个字典序 ...
- 【j2ee】div浮动层拖拽
背景:近期项目中需要实现弹出浮层增加数据,并且浮动层可以拖拽 解决步骤:1.浮动层实现 2.拖拽实现 多方查资料,基本实现功能,现做demo,便于以后使用 先上图片大体展示实现效果: 再上代码,展示 ...
- Java基础07 包
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经写了一些Java程序.之前的每个Java程序都被保存为一个文件,比如Tes ...
- SqlServer数据库存储过程的使用
搞开发这么久了,说实话很少用到存储过程,大部分代码都在业务层给处理了. 今天在做APP接口的时候,表里面没有数据,需要模拟一些数据,于是就想到存储过程,来一起用下吧. SqlServer中创建存储过程 ...
- C++中vector的实现
注意几点: 分配内存不要使用new和delete,由于new的同一时候就把对象构造了.而我们须要的是原始内存. 所以应该使用标准库提供的allocator类来实现内存的控制.当然也能够重载ope ...
- QT学习小技巧
原地址:http://blog.csdn.net/ykm0722/article/details/6947250 转载: 分享在比赛中写代码时,发现的几个对写程序很有用的小段代码,虽小但是在我的软件中 ...
- Tomcat 乱码设置
如果表单是以get方式提交就会出现中文乱码这时可以在tomcat中配置解决中文乱码问题. 方法如下:在tomcat的conf文件夹下的conf中找到server.xml文件 找到 Connector ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- JavaScript编程:java事件模型
3.java事件模型: 传统事件处理程序指派方法: 1.var odiv=document.getElementById("div1"); ...
- BZOJ 3110([Zjoi2013]K大数查询-区间第k大[段修改,在线]-树状数组套函数式线段树)
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 418 Solved: 235 [ Submit][ ...