堆栈溢出很多时候是你程序写的不好,比如一个函数无休止的调用自己,则一定会堆栈溢出,因为调用函数就会要数据入栈,只有函数退出才会释放,如果调用的深度太深,就不行了,或者你的大数组在函数内定义,就是自动变量,要入栈的
太大就溢出。。。。
一个线程的堆栈有限,貌似默认的是1M,和你的电脑内存大小没关系,对于自动变量其实这已经足够了,不过程序有问题就会出现溢出。。。。内存是系统分配了你才能用,就是1万G, 就给你分配1K,超出1K你也是内存不足。。。
1需求分析
2功能模块分析
3E-R设计,对象与关系设计
4界面与应用逻辑设计
5
数据库设计
6代码编写
7测试
VB临时变量的存储方式,主要有以下几种:
1 堆栈:堆栈是一种先进先出(FIFO)的存储结构,它可以用来存储临时变量。堆栈的 *** 作是先进后出,即最后一个进入堆栈的变量最先出栈。
2 队列:队列是一种先进先出(FIFO)的存储结构,它可以用来存储临时变量。队列的 *** 作是先进先出,即最先进入队列的变量最先出队。
3 数组:数组是一种线性存储结构,它可以用来存储临时变量。数组的 *** 作是按照索引顺序进行,即最先进入数组的变量最先出数组。
4 树:树是一种非线性存储结构,它可以用来存储临时变量。树的 *** 作是按照树的结构进行,即最先进入树的变量最先出树。
题主用的是 VB6 时代的 Windows API,那里面的 Long 类型相当于 NET 里的 Int32,声明 API 时要把所有 Long 类型替换成 Int32 才可以正常使用,否则堆栈溢出。
另外 *** 作内存这种函数需要管理员权限来运行,否则程序会报错甚至崩溃。
以上就是关于VB串口通信,运行一会就回提示实时错误28,堆栈空间溢出全部的内容,包括:VB串口通信,运行一会就回提示实时错误28,堆栈空间溢出、vb中,应用系统开发的一般流程是什么_在vb中,开发应用程序主要包括哪几个步骤、vb临时变量的存储方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)