一个偶然的时间,我无意中发现,我(liigo)于2008年10月份发表于CSDN博客上的一篇小文,《谢谢斩月,谢谢monkeycz,谢谢dtcser、超级大BUG》,已经无缘无故的消失了。现在我只能通过百度快照才能证实它曾经存在过:

百度快照地址:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c422461f1c3db6e63a734342849021274ab24a5cecfb3078200357e4da8ac25e98e6d27e209f5136676cf65664d10edfbb5125b037e65afed91cf0bb8025e5afc5a4ab4325c944737c97f0fa4d7613dd1ff40347e5b1e848025f61e5b06c3ca8122661&p=8f71c54ad18516fc57e8cf3816&user=baidu

(快照显示此文发表/最后编辑于2008年10月02日19:09:00,前面的图片似乎被tu.6.cn处理过显示不完整。)

快照中的文章链接地址(http://blog.csdn.net/liigo/archive/2008/10/02/3009840.aspx)已然无法打开,CSDN博客系统提示“在你访问时发生了错误:文章无法获取。”。

其实发现文章消失是数月前的事了,我一直没有处理。前几天再次想起此事,于是在CSDN博客专家群中咨询官方人员,得到的答复是,由于时间过去太久,文章无法还原,建议我自行通过搜索引擎的缓存页面恢复文章内容。可是我遍查各大搜索引擎,似乎只有百度缓存过标题和摘要,没见有搜索引擎缓存该文全文内容。印象中有论坛部分引用过文中的某段文字,一时之间也难以找到。

也许是运气比较好吧,我在自己私人电脑里翻出了当时备份的文字和图片,此文因此得以重见天日,庆幸中。

以下是原文:


谢谢斩月,谢谢monkeycz,谢谢dtcser,谢谢超级大BUG。

斩月计划(http://ZanMoon.monkeycz.com),分离核心支持库,打造小于10k的易程序。

monkeycz,斩月计划的创始人、作者。

dtcser、超级大BUG,斩月类库(ZCL)的主要开发者(之一)。

斩月计划已经有一两年没有更新了,有易友(dtcser,licengxin)在现有版本基础上进行过二进制修改,一并感谢。

“斩月计划”是一个很好的、很有创意和实用价值的项目,它有效解决了易语言程序必须依赖核心库、程序尺寸偏大的问题,满足了一部人对这方面的需求,在一定程度上拓展了易语言的应用范围。

斩月计划大名鼎鼎,我早就听说过了,但一直没有深入了解,主要是个人原因:因为我始终认为,易语言程序依赖易语言核心库天经地义,通过分离核心库来减小EXE/DLL文件尺寸,并以“损失大批唾手可得的实用功能”和“增加程序编写复杂性”为代价,似乎得不偿失。我个人编写易语言的程序,并不介意它的文件尺寸,也不介意多使用几个支持库,我介意的是,能不能更快更好的完成这个程序,——其实这才应该是易语言存在的本质啊,千方百计的要少用一个支持库,千方百计的用API取代支持库,不是在为自己增加负担么?很多易友对支持库有偏见,但是我没有。

但是到了我开发“易写易库(EXEK)”时,我突然发现,在某些特殊情况下,“斩月”真的是非常有用非常实用。以易写易库为例,如果不支持斩月,用它开发出的易语言支持库就不能被易语言3.0使用(用“易写易库(EXEK)”为易语言3.0开发支持库?)。

要让你的易语言程序支持斩月,你只能选择:1、使用Windows系统API;2、使用内嵌汇编(置入代码);3、使用核心库中有限的几个命令;4、使用支持斩月(即满足前三个条件)的易语言模块。即,大部分情况下,你不能使用任何易语言支持库(包括核心库)中的功能,当然有少数例外(如特殊功能支持库中的“置入代码”,另注,该命令已在易4.12中移入核心库)。支持斩月,往往意味着你需要放弃许多现成的实用的功能丰富的支持库,无疑会增加程序的开发难度;有得就有失,选择权在使用者。

其实,斩月计划也是依附于易语言编译器的辅助工具,它无法脱离易语言编译器而独立存在(除非把它自身改造成另一个易语言编译器,而这在短期内是不现实的),它所支持的核心库中的命令,多数都是因为这些命令已经事先被易编译器将实现代码编译进EXE/DLL中了,——当然,不被易编译器支持而被斩月支持的命令也有,如“指针到文本”“指针到字节集”和位操作相关的大部分命令,这是斩月内部特殊处理的结果。

我还是坚持我的观点:在特定情况下,斩月非常有实用价值。

“易写易库(EXEK)”正式支持斩月,这就是我(liigo)以实际行动对“斩月计划”的支持。

另,我在实践中发现超级大BUG的易模块“ZCL_核库函数1.01”(更新日期2007年6月27日,模块内部注明版本为1.1)中没有“文本到数值”功能,因此贴出以下易语言源代码,也算是对斩月的一点支持:

完整易语言源代码文本如下(可直接复制粘贴到易语言IDE):

.版本 2 .程序集 仿核心库程序集, , , 是对“ZCL_核库函数1.01”的补充,by liigo, 20080926 .子程序 _文本到整数, 整数型 .参数 文本, 文本型 返回 (_文本到长整数 (文本)) .子程序 _文本到长整数, 长整数型 .参数 文本, 文本型, , 将忽略其中所有非数字字符 .局部变量 i, 整数型 .局部变量 num, 整数型 .局部变量 结果, 长整数型 .计次循环首 (文本_取长度 (文本), i) num = _取代码 (文本, i) - 48 .如果真 (num < 0 或 num > 9) ' 不是数字(0-9) 到循环尾 () .如果真结束 结果 = 选择 (结果 = 0, num, 结果 × 10 + num) .计次循环尾 () 返回 (结果) .子程序 _文本到数值, 双精度小数型 .参数 文本, 文本型 .局部变量 dotIndex, 整数型 .局部变量 整数结果, 长整数型 .局部变量 小数结果, 双精度小数型 .局部变量 小数部分文本, 文本型 .局部变量 i, 整数型 dotIndex = 文本_寻找 (文本, “.”) .如果真 (dotIndex = -1) 返回 (_文本到长整数 (文本)) .如果真结束 .如果真 (文本_寻找 (文本, “.”, dotIndex + 1) ≠ -1) 返回 (0) ' 出现两个小数点,明显不合法。 .如果真结束 整数结果 = _文本到长整数 (文本_取左边 (文本, dotIndex - 1)) 小数部分文本 = 文本_取右边 (文本, 文本_取长度 (文本) - dotIndex) 小数结果 = _文本到长整数 (小数部分文本) .计次循环首 (文本_取长度 (小数部分文本), i) 小数结果 = 小数结果 ÷ 10 .计次循环尾 () 返回 (整数结果 + 小数结果) .子程序 _取代码, 整数型 .参数 文本, 文本型 .参数 字符位置, 整数型, 可空, 1为首位置,2为第2个位置,如此类推 .如果真 (是否为空 (字符位置)) 字符位置 = 1 .如果真结束 返回 (读指定地址处字节 (取文本变量数据地址 (文本) + 字符位置 - 1))

找回旧帖:谢谢斩月,谢谢monkeycz,谢谢dtcser,谢谢超级大BUG相关推荐

  1. 博客开张第一贴!谢谢!大伙多多关照!谢谢.

    博客开张第一贴!谢谢!大伙多多关照!谢谢. 转载于:https://www.cnblogs.com/yisheng163/archive/2007/12/05/983020.html

  2. gmail账号找回_如何找回旧的Gmail

    gmail账号找回 Gmail's redesign is now mandatory - the opt-out option is gone. Use a third-party style sh ...

  3. twitter_如何找回旧的Twitter网站

    twitter Twitter 推特 Twitter.com was just updated with a new interface. Now a progressive web app, Twi ...

  4. 小结量化投资之路(2013年写的旧帖再加工)

    本文在Creative Commons许可证下发布 1.前言 本篇内容主要是2013年为一个朋友写的,除了当时发给朋友看,还未公开放出来过,后来忘记写过这么个东西,今年偶然一次机会和朋友聊天,朋友提起 ...

  5. Find My资讯|美国警察通过Find My找回失窃车,苹果Find My为防盗窃起大作用

    近日在美国湾区发生了一连串的汽车盗窃案,而通过一副失窃的 AirPods,警方通过 Find My 应用快速锁定嫌疑犯并最终成功抓捕.援引当地媒体 Berkeleyside 本周四报道,今年 7 月伯 ...

  6. 【2022保研经验帖】夏令营/九推/清北/浙大/南大/北理/北邮/中科院

    本文将从个人介绍.保研流程.夏令营经历.九推经历四个方面来介绍保研全流程. 个人介绍 本人在北京某211软件学院,排名rank3,绩点3.9+ 校三好学生.校优秀团员.校优秀团干部若干 大创校级+大创 ...

  7. 《听我说谢谢你》简谱

    <听我说谢谢你>简谱 <听我说谢谢你>简谱

  8. 民间各类恐怖请仙大法(上)(转帖)

    民间各类恐怖请仙大法(上)(转帖) 1.镜仙 两块一样大的可以照出全身的镜子,将它们面对面的放置,就会形成一种无限镜像的状况.在午夜零点时,召唤者站在两块镜子的中间,用左手触摸面前的镜子,开始呼唤镜仙 ...

  9. 迷你世界云服务器不见了,迷你世界找回老号方法 重新上架后的登录方法

    迷你世界重新下 载找回老号的方法有哪些,在这款游戏重新上架之后,大家都不清楚之前的老号还能不能找回,对于这个问题,下面我们来看看详情. 迷你世界重新上架找回旧号的方法 渠道服: 对于渠道服的玩家来说, ...

最新文章

  1. Javascript调试技巧整理
  2. java心电图心率计算_java如何画心电图?
  3. 继英伟达最小边缘超算,英特尔再推10倍VPU,终端AI芯片竞争加剧
  4. ThreadPoolExecutor里面4种拒绝策略--CallerRunsPolicy
  5. 综合中央计算机系统简称,全国计算机等级考试级试题及答案.doc
  6. android R.id.转化为view
  7. 知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering
  8. services.xml应该放在项目的哪里_新轮胎应该放在前轮还是后轮?
  9. 2020 macbook pro 16寸 前端开发 我的装机软件整理
  10. lingo3d_基于官方教程的分析
  11. 电赛提升----风力摆控制系统
  12. Duilib的界面设计工具DuiDesigner的使用说明
  13. 《三重门》作者的机灵与人物的笨拙
  14. linux桌面lxde 安装_archlinux下lxde安装与配置教程
  15. 热门应用借微信玩花样:一大波红包正在来袭
  16. 大三期末网页设计作业 以旅游景点风景主题介绍网站设计与实现 (广东名胜古迹)
  17. 科普小时代---笔记本连接无线受限
  18. 不是技术也能看懂云计算,大数据,人工智能
  19. ucenter通信实现同步登录、同步退出(详细)
  20. Chrome下如何复制禁止复制网页上的文字

热门文章

  1. linux环境下DOL的配置
  2. HTML5+CSS3+JavaScript从入门到精通(标准版)
  3. 011-JVM-跨平台的语言和跨语言的平台
  4. 让 sns.heatmap 的数字不使用科学计数法
  5. 2006年20大怪异小玩意儿
  6. Vivado经典案例——使用Simulink设计FIR滤波器
  7. 北京师范大学计算机研究生毕业去向,北京师范大学的硕士生可以去什么水平的大学教书?答案很现实!...
  8. 计算机总是跳出交互式检测,交互式服务检测,教您如何解决电脑总是弹出交互式服务检测...
  9. 习题7-3 多米诺效应(The Domino Effect, ACM/ICPC World Finals 1991, UVa211)
  10. 微语录(2011-03-07---2011-03-13)