动态数组和静态数组的问题 我有个程序在大量的多线程运行时,如果用了动态数组就会报内存错误,用静态数组就没事。动态数组和静态数组在内存的分配上有什么区别吗?多线程在动态分配内存上是不是有些要注意的地方?没多少分·· 各位有经验的一起帮忙研究一下吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 静态数组定义的时候就会分配空间了,动态数组用setLength分配空间,如果没有特别用途还是用静态数组吧 动态数组setlength(0)就好了吧 你自己的同步工作没做到位而已,不要有问题都往别的地方赖不在自己身上找原因当初borland做的memory manager虽然烂,据说多线程的时候效率很差,但出问题还没听说过 其实你用动态数组,还不如直接用LIST,LIST本身就是个无类型指针数组, 他已经为做好了内存管理上边有说GETMEM分配内存,如果多次分配,内存地址不是连续的, 多次分配保持地址分配一般用ReallocMem函数,详细你可以看VCL 里LIST的源码 用前用getmem分配内存,而用后要用freemem释放内存 后来发现了,局部声明的动态数组,使用了setlength分配内存以后,大家记得赋值nil,否则有内存泄露。freemen之类的函数我试了N个都没用的。一人一分吧,别浪费了 求助:delphi现在的发展前景怎么样? ActiveX的问题。 大家好,刚刚接触Delphi,想看看Delphi源程序,大家有没有比较好的网站推荐? delphi用什么关键字指代当前操作的控件 大家有用Delphi编写过消息队列、文件池、消息池方面的经验吗?介绍一下吧。。。 请教:怎么把单引号作为字符显示出来啊? 如何拦截memo的上下翻页的消息? delphi中用idsmtp发送邮件有错误 关闭外部程序,用FindWindow()无法实现,无奈中。 急! ADO Master/detail表的更新问题 到底该申请多大的内存空间?? 关于EXCEL数据写入问题
当初borland做的memory manager虽然烂,据说多线程的时候效率很差,但出问题还没听说过
上边有说GETMEM分配内存,如果多次分配,内存地址不是连续的, 多次分配保持地址分配一般用ReallocMem
函数,
详细你可以看VCL 里LIST的源码
一人一分吧,别浪费了