为什么我一用C语言编程,内存就飙到100%?

为什么我一用C语言编程,内存就飙到100%?,第1张

一用TC,CPU就满了不是内存,是CPU飙到100%。

这是16位DOS程序的通病,由于DOS是单进程的 *** 作系统,一个进程(即程序)要占用全部的CPU,而TC是属于DOS程序,所以

用大模式(Large),并把指针设为far型,这样可以达到1M内存.

对于超过的源程序,可以视代码或数据多少将其分解成两个或多个文件,分开后,尽管源码己小于64K,但编译模式还是要选用大模式,这样编译生成的OBJ文件,将会让连接程序把代码和数据安排在不同的段内,这样生成的EXE文件在加载时将告诉系统如何装入.

“Image”就是指编译后的程序文件,在对程序链接时就是程序在内存时的映像,因此这

么称呼。

在某些 *** 作系统下,这种程序文件可以直接作为内存映像载入内存。

在其他 *** 作系统中,这些文件的结构比较复杂,不仅仅是内存映像那么简单,可能包含

定位信息、和程序代码有关的外部符号信息等(就像咱们用的MS Windwos)。

Windows95 和 SP3 之前的 WindowsNT 4.0 无法处理超过256MB的可执行文件(就是无法

执行),后续版本可以处理的最大范围约 1.75GB,如果显示的文件大小是负数,表示文

件超过了 2GB,需要用64位的处理器和 *** 作系统或者减小数组大小。

在现在的Windows *** 作系统中,一般可以忽略上述警告,程序可以直接运行而不会出现问

题。

百度来的两个方法,没试。

1)好好利用公共模块modula,数组最好用动态的,用完就释放;

2)把虚拟内存搞大一些就没关系。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11965497.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存