⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_51834.htm

📁 vc
💻 HTM
字号:
<p>
序号:51834 发表者:靡靡之鹰 发表日期:2003-09-04 18:15:22
<br>主题:请高手指教:和数组、图形相关
<br>内容:我是编程菜鸟,最近由于工作需要写一个关于图形的程序。用到的象素点用二维数组<BR>point[][]表示;再用结构AMZ表示包含这些点的线(程序如下)。由于数据量较大,出现一个问题,在borland c++里编译时出错,说array size too big;又到vc++里编译,可以通过;后来由于需要增加图形显示功能,增加了 graphics.h库文件,编译出错,说找不到graphics.h库文件。<BR><BR>#include &lt;stdio.h&gt;<BR>#include &lt;math.h&gt;<BR>#include &lt;graphics.h&gt;<BR>#define max 512<BR>#define r 2048 //半径<BR><BR>const double Pi=3.14159265359;<BR>const double dd=0.087890625;&nbsp;&nbsp;/*&nbsp;&nbsp;360/4096&nbsp;&nbsp;*/<BR><BR> struct AMZ&nbsp;&nbsp;//方位线结构体<BR>&nbsp;&nbsp;{&nbsp;&nbsp;<BR>&nbsp;&nbsp;int point[r*3][2];<BR>&nbsp;&nbsp;int d;<BR>&nbsp;&nbsp;}line[max];&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;line[max]表示max个方位线<BR><BR> void ini_amz(void)&nbsp;&nbsp;// 初始化AMZ结构<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp; register int t,s;<BR>&nbsp;&nbsp;&nbsp;&nbsp; for(t=0;t&lt;max;++t) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(s=0;s&lt;=4*r;s++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line[t].point[s][0]=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line[t].point[s][0]=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR><BR>void printpixel(int x,int y, int color)<BR>{<BR> putpiexel(x,y,color);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<BR><BR>就以上所述提几个问题:<BR><BR>1、borland c 对数组size的限制有多大?能否改写这个限制?<BR>2、因为库里没有相应的图形库,怎样在vc下写图形程序?不要建议我把boeland c的图形<BR>&nbsp;&nbsp; 库拷进去,我作过不可以:(&nbsp;&nbsp;<BR><BR>谢谢大家了!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:jinir 回复日期:2003-09-05 11:29:20
<br>内容:用临时文件取代数组,会慢点
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小白菜 回复日期:2003-09-05 11:49:08
<br>内容:我也有这样的经验,在borlandc 下好像只能分32767的内存,在vc下没有这个现象,就用jinir的办法用一个临时文件吧<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:靡靡之鹰 回复日期:2003-09-06 17:03:25
<br>内容:jinir和小白菜的提议对我有些启发,但不知能否用数组或者结构来解决这个问题;我在borland c里看到可以设置 tiny,small,large和huge四种内存模式。以此提请大家看看有没有可能从这里想办法?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:jinir 回复日期:2003-09-08 11:15:36
<br>内容:你可能用实模式编译的程序,那只能直接访问1M+64K的内存,如果large,huge等模式的话,数组也会被限制大小的,好象是数个数组无素不超过64K吧<BR>但是console下的其实处于保护模式,那可是有4G的虚拟内存,够你挥霍的了<BR>实模式下可以用扩充内存,扩展内存什么的,不过那是Dos时代人们比较关心的东西了,选择哪种&#34;平台&#34;还是你自己来决定吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:靡靡之鹰 回复日期:2003-09-08 18:11:58
<br>内容:console下的其实处于保护模式? 这里的console不懂什么意思(不要b4我,我说了我是编程菜鸟的:)<BR><BR>我想你说的平台应该是borland c或者vc吧,我是想用vc,但vc里的图形编程太麻烦,因为事情比较急,以我现在的编程水平够呛!所以只好在bc下捣腾了。<BR><BR>谢谢jinir和小白菜的指点!对于我这样的想学编程的新手来说,这些足以给我指明解决问题的方向了,谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -