编程论坛's Archiver

beyondabcd 发表于 2007-6-9 18:51

关于NEO在486上运行的问题

我使用neo在pc104(相当于486),用tc编译不了呀,内存不够,在我的计算上编译过去了,也可运行,但放到pc104上运行没反应呀,这是怎么回事?

一笔苍穹 发表于 2007-6-13 14:32

使用NEO,机器要满足一些基本条件:X86架构,640KB的常规内存,支持VESA的VBE标准(独立或集成)显卡。

beyondabcd 发表于 2007-6-13 19:11

我在问你一,我下载你的NEO后,为什么你那带的例子,在486上可以运行,而我把你的.c编译后的确在486上运行不了呢?(运行后没反应)

beyondabcd 发表于 2007-6-13 19:13

还有你那些现成的.exe例子,在486上有的能运行有的不能运行呀,有的运行后死机了

beyondabcd 发表于 2007-6-13 19:22

对了,你这些条件它都满足,只是在那个486运行下,总说 out of memory in funtion main(内存不够)的意思呀?

一笔苍穹 发表于 2007-6-15 11:10

恩,你可能没注意到,我提供的EXE文件比你编译出来的要小很多。<BR>我编译的时候在#include&lt;neo.h&gt;之前用上了许多编译开关(宏),这些宏可以关闭编译器对你不需要的部分NEO功能,以减小程序体积。具体有哪些宏请参考NEO的用户文档。

beyondabcd 发表于 2007-6-16 18:23

<P>我还有几个问题<BR>1,我使用了编译开关,用了好多,有几个开关没有用,因为开启的几个开关是都是显示BMP文件用的,都是必须用到的,用486在TC2.0下(纯DOS),这把可以运行起来了,也很正常,但编译成exe文件后,运行后,退出就花屏了(出现蓝色字符,光标也没有了,打了几个dir后就按什么键也没反应了,除按num lock键除外),怎么解决退出后的花屏问题呢?<BR>2,我计算机安装两个系统,在XP下运行编译的neo生成的exe,退出以后都很正常,但到98下运行编译的neo生成的exe,退出以后就花屏了,这是为什么?<BR>3,我用neo显示bmp文件,也加了很多编译开关,再加的话就运行不起来了,已经到极点了,我一个个试的,但编译出来的exe文件也比我用一些程序写出来显示的BMP文件要大的多呢!一个是77K,一个是18K,但显示的速度要比我的快多了,怎么才能把编译出来的文件再减少呢?</P>

一笔苍穹 发表于 2007-6-18 09:13

建议把编译时的大小优化开启<BR>用WIN-TC编译的话可以很方便的从它的编译设置中开启大小优化,那样可以将产生的程序减小到30KB左右。<BR>显示BMP的话可以将不要的色深屏蔽掉,比如你只需要显示256色图片时,可将NEO对高彩和真彩的支持屏蔽掉。<BR><BR>至于你所说的花屏现象,建议你将你使用的编译开关帖上来,我去试试,看能否重现。

beyondabcd 发表于 2007-6-18 18:51

"大小优化开启"怎么开呀,<BR>“花屏现象”,我在我的电脑下,98就花屏(所有的编译开关都没用)<BR>               XP下就不花屏(所有的编译开关都没用)<BR>

beyondabcd 发表于 2007-6-18 19:21

好的我回去试试,试完了给你一个信

beyondabcd 发表于 2007-6-19 18:28

我在DOS下挂上鼠标后,进入TC运行程序,又出 out of memory in funtion main<BR>要是不挂上鼠标,进入TC运行程序,能运行起来,<BR>我在纯DOS下,加载了Himem.sys<BR>我只是写个小程序用一用呀,常规内存是600K,扩展内存15M,你说用扩展内存能弥补内存不够的问题吗?要是能的话,在程序中怎么扩展呀

一笔苍穹 发表于 2007-6-20 11:52

你写的程序可能是比较小,但TC集成编程环境本身就要占资源的。<BR>再检查一下是否加载了其它的什么程序

beyondabcd 发表于 2007-6-20 18:24

先在DOS下挂上鼠标,就用三次show_bmp呀,

一笔苍穹 发表于 2007-6-23 08:42

你挂上鼠标,再直接运行你编译好的的EXE不行吗?为什么要先进TC再运行啊?

beyondabcd 发表于 2007-6-23 18:45

那也不行呀,没反映,和在纯DOS下打exit一样,没办法了,现在望着NEO也只能眼馋了。现在我也只能自己动手了,还有一件事请教一下。<BR><BR>              NEO 最佳匹配色插件如何使用<BR>unsigned char npi_bestfit_col8(PALETTE pal, int r, int g, int b); <BR> 8 位模式下的最佳匹配:<BR>从指定调色板pal中搜索与给出颜色分量r,g,b最匹配(相似)的颜色号并返回该颜色号;参数r,g,b范围为0~63。 <BR>        这个说明没看懂呀,能举个例子吗?

一笔苍穹 发表于 2007-6-25 08:48

那个插件不太好,在最新的NEO内测版中已经去掉了。<BR>我还是不明白,不可能你的程序要先进TC环境才能RUN啊,在DOS命令行下输入你编译生成了的EXE名字回车之后不能运行?你确定吗?这两者没区别的啊

beyondabcd 发表于 2007-6-26 06:38

<P>是呀,不能运行,根本就没反应,我试了好几次了[em08][em08][em08][em08][em08][em08]</P>

beyondabcd 发表于 2007-6-26 06:42

对了,忘说了,在RUN能运行的话,在dos的exe也能运行,要是RUN不行的话,那DOS的EXE也没反应

beyondabcd 发表于 2007-6-26 06:45

对了,在问一下,NEO中的鼠标是怎么能的,我在svga中,调用鼠标(用中断33H,和自己画鼠标),他们两好像不兼容呀,

一笔苍穹 发表于 2007-6-27 13:11

恩,我不知道你的具体函数是怎么写的,不过你可以看一下我的源码,底层鼠标那一块还是满简单的,就是几个中断的调用而已。<BR>另,在RUN中没法运行的,在DOS下不能直接运行是正常的。不过请列举不能在RUN下运行的代码。

页: [1] 2 3

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.