分享
 
 
 

《NGNc,“中断”返回的结果》

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

http://www.ngnc.net/ngnc_result_of_iret.htm

《NGNc,“中断”返回的结果》

副标题:一个“类C”的脚本语言介绍;

副标题2:一个程序员“以文会友”“抛砖引玉”的帖子;

目录:

1、名称描述

2、简单规则描述

3、与“中断”的关系

4、FileAna,一个使用NGNc脚本语言的文件分析工具

5、NGNc开发模式,“抛砖引玉”

名称阐述:

NGN=Engine音,C=c语言,开发初衷同其他脚本语言一样,目的是将引擎进行封装,使用脚本将数据和规则类数据移出引擎体,因此取名称“引擎”

简单规则描述:

同标准C基本兼容,兼容度未做评估,支持基本宏定义,标准C类型,控制,循环,函数体等;同ANSIc差距多少无法回答因为没仔细研究过;只讲述些不同点:比如:IF ,必须使用()将表达式包裹起来,然后跟其他表达式或程序指令块“{}block”,而NGNc则不需要(),而是用“,”分割条件表达式和程序体表达式,还有个更好地就是灵活的常量赋值机制,主要就是用来定义外部数据而专门支持的,一定比标准的c好用;

与“中断”的关系:

中断是机器BIOS中最重要的概念,当系统外部设备有请求时,比如鼠标,串口数据同步请求等,都会产生中断,这在一个单CPU的环境下,系统会保存当前机器状态,响应这个请求,在请求完成后,就恢复设备状态;“NGNc”就是一个中断请求,将我这个单CPU大脑中断,待响应结束IRET后,“NGNc”就呈现在了我的面前;

一直以来,用VC的IDE环境开发项目,并组织和管理项目需要的文件,尽管VC的功能很强大,但在项目后期,每每都是因为修改个别的数据,而重新编译整个项目,麻烦。起初,通过设计系统的数据文件格式,将数据文件搬移出项目,将引擎和数据分离,在只修改数据的时候,用数据编辑器或简单文本描述文件进行。编制数据编辑器当然有可以避免规范数据输入等优点,但额外工作产生了。文本描述成为我们主要的目标。

最初文本描述方法简单,比如Window的Ini文件管理模式。随着文本文件格式的逐步复杂,文本文件到特定数据格式的转换工具越来越想向C语言转变。这就是NGNc的第一个产生的契机。我们叫它“DataOut”,顾名思义就是将数据拿出来的意思。

项目开发的越多,项目后期的对控制逻辑和规则描述的需求也逐步呈现出来。仅仅DataOut已经不能满足我们的需要,起初同文本数据描述一样,只是简单的规则罗列,但随着功能的发展,支持简单的类C语言的规则书写方式被支持了。

发展到现在NGNc已经完全成为了真正的C语言,并拥有自己的虚拟机。我们现在的开发已经越来越喜欢这种开发模式:任何项目通过NGNc脚本语言的使用,自然地将系统做了良好的分割,降低了子系统间的偶合程度,令Team的协作更清晰简单。整体的系统复杂程度的降低,和管理效率的提高是脚本语言使用的功劳。下面讲述几个NGNc应用的例子,来说明它的好处。

NGNc应用举例1:

FileAna,一个使用脚本语言的文件分析工具:

FileAna的产生来源于频繁的文件格式分析和格式转换,数据提取的工作。比如:互联网刚发展初期,很多网站为了让内容快速“丰富”起来,编制机器人上其他同类网站“抓”内容是常有的事情。频繁地搜索定位,提取转换,累死个人儿。研究研究其他游戏引擎,分析分析游戏资源想来会对开发很有帮助,数据是核心的核心。

每次分析一个目标文件的流程:观察(用眼看)目标文件,用经验简单猜测个数据结构,打开以前的VC工程文件,修改一下其中的数据定义,开始尝试搜索,运气好一遍不成2遍应该可以搞定。总之,经过N次尝试,成功是不成问题的。每次的分析都是这样,最后用IDE管理了一大堆数据格式。“好象VC的IDE对数据格式的管理能力很弱吧”。

NGNc脚本在FileAna的用处就集中在:数据格式描述,搜索规则描写,数据提取和转换(输出成新的格式的文件,或数据库记录)。而有关于常用的支持函数,用户操作界面等,则使用MFC的窗口系统实现。

FileAna的使用方法,变得简单,简化的主要在于修改数据格式和搜索策略的调整效率大大提高,切数据格式的管理以及通常的搜索策略的积累变的集中,不需要每次在不同的工程文件间拷贝代码了。且常用的文件格式输出也很自然。

(着重说明:NGNc的数据描述方法和规则描写是C语言习惯,这非常符合程序员的习惯,好用)

NGNc的开发模式,“抛砖引玉”:

NGNc同其他语言一样,不在于语法规则的精妙,而更在于其函数库,以及支持的引擎的丰富程度,NGNc将以开放的方式提供给拥有引擎的开发者,为引擎的使用封装一个简洁清晰的接口,令使用者更加专注于应用而非“白手起家”,屏蔽掉不必要的中断,而将每个单CPU才智发挥到极至;此文意在此结交更多的朋友,奉上拙见以供参考;

(有兴趣的朋友,请看本站提供的开放式开发项目:《NGNcalc2x》的相关内容)

(这里是《“NGNide集成调试环境”简介》“NGNc专用”)

(还有《致朋友》的公开信)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有