标题:NEO内测包请NEO用户帮忙测试
只看楼主
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
 问题点数:0 回复次数:14 
NEO内测包请NEO用户帮忙测试
上传一个NEO的内测包,NEO的使用文档也在同步更新中http://www.szny.com.cn/neo。请大家帮忙测试一下,比如将以前的程序重新用新库编译运行一下,看看有什么问题没。今年年底应该会出一个新版本。谢谢支持!
jB9eGsAM.rar (66.76 KB) NEO内测包



更新报告:
改动:
修改了XMS中会导致重定义警告的问题
将8位色深下光、图标文件的显示算法改为实时抖动,并为此调整鼠标显示模块
修正了编译开关NEO_dbl_click_unused的作用域
改善了加载时钟模块之后鼠标双击的判断精度
完善了对鼠标各种按键状态的识别判断
改进了8位色下实时抖动匹配颜色的精确度
修正了显示确奇数宽16位位图时会发生斜切的BUG
修正了16位图形模式下屏幕截图用看图工具打开会出现偏色的问题
新增:
增加正多边形顶点坐标生成函数polygon()
增加了鼠标按键只识别函数get_click_only()

[此贴子已经被作者于2006-12-9 16:35:05编辑过]

搜索更多相关主题的帖子: 内测 NEO 用户 
2006-12-06 15:40
ba_wang_mao
Rank: 2
来 自:成都理工大学
等 级:论坛游民
帖 子:297
专家分:27
注 册:2006-11-7
得分:0 
已下载,谢谢

多年以来还在MSDOS、单片机下搞嵌入式编程,对WINDOWS编程一窍不通,很想了解WINDOWS下病毒编程技术。
2006-12-06 19:43
RockCarry
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:13
帖 子:662
专家分:58
注 册:2005-8-5
得分:0 

看了代码,给点建议:
1.代码的可读性和可维护性有下降的趋势,导致该问题的主要原因是早期在架构设计上的考虑不足,而后期又在不断的加入新的功能。建议以后的工作主要以调整架构为主,在架构调整完成之前避免加入新的功能。
2.建议采用一个.c文件对应一个.h文件的形式组织源代码,对每个.c文件都将其编译为.obj文件,然后将所有的.obj文件打包为.lib文件,这样做的好处在于linker在链接的时候会只链接被引用到的.obj模块,没有被引用到的模块不会被链接到.exe文件中,这样可以避免使用预编译开关来控制编译体积的大小。并且以二进制库形式提供的话,将更加安全和易于使用。
3.架构的调整工作量是巨大的,几乎会修改所有的代码,这是一个长期的过程,但是希望作者不要放弃。我现在做VGA13H也是在工作之余,想做的时候做做,基本上有空都是出去玩,或者和同事一起打游戏,但是我从来不放弃对VGA13H的维护,哪怕每周只看看代码。把它当做业余爱好,以及追求完美,是我的VGA13H的设计理念。这个和工作不一样,工作的时候很难做到完美,工作有开发周期的限制,还有功利性。
4.建议作者考虑采用更加高效的编译方式,我目前都是采用make工具进行代码编译的管理,做个推荐。

5.建议将屏幕也抽象为一个位图对象,而所有的位图都抽象为内存中的一个二维数组,所有对位图的操作都抽象为对内存的操作,这样的好处是可以保证这部分代码与硬件和平台的无关性,从而增强了代码的可移植性。而将内存抽象为以下的两种类型,1.线性内存, 2.页式内存,定义相关的接口 ,在接口的上层实现线性内存与页式内存的相互操作,而在下层则可以SVGA的页实显存和EMS内存等等方式来实现这个接口,页式内存是一个抽象的概念,它的实现方式是多样的,甚至可以使用磁盘文件的方式去实现这样的接口,就类似于虚拟内存。在上层的BMP对象只需要关心它的w, h, 位深度, 调色板(如果有), 以及使用的内存类型和内存的驱动(提供一个函数指针),即可完成对位图的全部操作。



[此贴子已经被作者于2006-12-7 9:47:10编辑过]

2006-12-06 20:58
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
我也下了,使用报告日后提交

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-06 21:00
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 
以下是引用RockCarry在2006-12-6 20:58:12的发言:

看了代码,给点建议:
1.代码的可读性和可维护性有下降的趋势,导致该问题的主要原因是早期在架构设计上的考虑不足,而后期又在不断的加入新的功能。建议以后的工作主要以调整架构为主,在架构调整完成之前避免加入新的功能。
2.建议采用一个.c文件对应一个.h文件的形式组织源代码,对每个.c文件都将其编译为.obj文件,然后将所有的.obj文件打包为.lib文件,这样做的好处在于linker在链接的时候会只链接被引用到的.obj模块,没有被引用到的模块不会被链接到.exe文件中,这样可以避免使用预编译开关来控制编译体积的大小。并且以二进制库形式提供的话,将更加安全和易于使用。
3.架构的调整工作量是巨大的,几乎会修改所有的代码,这是一个长期的过程,但是希望作者不要放弃。我现在做VGA13H也是在工作之余,想做的时候做做,基本上有空都是出去玩,或者和同事一起打游戏,但是我从来不放弃对VGA13H的维护,哪怕每周只看看代码。把它当做业余爱好,以及追求完美,是我的VGA13H的设计理念。这个和工作不一样,工作的时候很难做到完美,工作有开发周期的限制,还有功利性。
4.建议作者考虑采用更加高效的编译方式,我目前都是采用make工具进行代码编译的管理,做个推荐。

1、的确如老陈所说,当初做架构设计时没想到要做这么大,所以没留下较好的扩展性,加上开发中期大量的新功能迅速的加入,导致代码可读性降低,我打算在年底发一个新版本,从这个内测版可以看到,这个版本的任务更倾向于修正,而不是增加功能,我计划后续几个版本都重点做好架构的调整优化;

2、呵呵,同意你的建议,当初刚做的时候只是考虑方便的调试和更新代码,结果把所有的代码一股脑都放在头文件中了,然后又引入编译开关,从刚开始的几个编译开关,到目前的几十个,我也觉得不能再这样下去了,等这个版本和下个版本一发布,应该不会再加什么新功能了,出一个LIB文件是有非常必要的;

3、感谢老陈,我本来的想法是最多再出三个版本(两个测试一个正式)之后就要宣布停止对NEO的支持和维护了,现在我觉得有必要反思一下了;

4、make用的不是很熟,到时有不懂的地方还要多请教你哈,呵呵~~

2006-12-06 22:55
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 
to 5:
类似于allegro的BITMAP是吧,我已经留了扩展接口,并想做EMS\虚拟内存两种底层以获得最大兼容性,只是没时间大刀阔斧的改,也怕效率会打折扣,也只能在工作之余一点点的做着来了。
2006-12-07 10:35
lyood
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-15
得分:0 
谢谢!!
很好!

2006-12-11 12:48
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
再提一个建议:neo_printf最好对打印字符的部分进行完全覆盖或设置参数选择,否则
例如
for(a=0;a<10;a++)
neo_printf(0,0,"%d",a);
就会出现字符重叠现象

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-12 20:30
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
得分:0 
这个情况可以善用text_mode()函数,给文字输出加上背景色,这在背景不复杂的情况下是够用的。
2006-12-13 09:47
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
以下是引用一笔苍穹在2006-12-13 9:47:24的发言:
这个情况可以善用text_mode()函数,给文字输出加上背景色,这在背景不复杂的情况下是够用的。

注意:如果输出中有汉字加半角标点符号覆盖输出恐怕就不行了吧,我就遇到这个,最后不得不画矩形来做背景


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-12-28 21:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-107640-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.653275 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved