社区
C语言
帖子详情
TC内存问题?
jkmaple
2010-11-17 09:18:08
用TC编辑器写程序,中间用到malloc申请内存,只能申请到7000多个结点,就不能申请了,请问个位高手有没有解决方案了?(公司要求现在只能用TC写程序)
...全文
181
16
打赏
收藏
TC内存问题?
用TC编辑器写程序,中间用到malloc申请内存,只能申请到7000多个结点,就不能申请了,请问个位高手有没有解决方案了?(公司要求现在只能用TC写程序)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jkmaple
2010-11-17
打赏
举报
回复
谢谢各位,我再试试
dubiousway
2010-11-17
打赏
举报
回复
我当时用tc 在dos下做程序时候的做法。
对于大文件内容的读入,只读入一部分。并记录下最后的读入的文件指针位置。
处理(或显示、或编辑)完前面的内容,需要用到新的文件内容时,释放前面的内容(当然要写入一个临时文件),然后再从刚才纪录的文件指针处读入新的一部分内容。
这样不会有内存不够的问题。
你用一个字符占一个节点的做法,要看根据需要是否合适(因为我不知道你要做什么)
我一般一个段落(碰到新回车符号)算一个节点,节点除了内容,还有长度,以后计算方便。
[Quote=引用 12 楼 jkmaple 的回复:]
先谢谢!
但还是不够用,我要打开一个近二万行(372K)的文件,以后有可能还要大(要求要能够打开至少1M的文本文件),一个字符占一个节点(本人是初次写程序不知这种方法好不好?)
引用 9 楼 dubiousway 的回复:
转贴tc说明一部分,看看有用没有
再讲一下Turbo C中的内存模式。内存模式的出现不是由编译器决定的,而是由处理器的寻址方式决定的,在8086处理器中为了在16位寄存器的基础上寻址20位的地址,引入了段寄存器和分段寻址的方式。在编译器这一级,利用这种段式的寻址方式,可以实现多种不同的存储分配方法,因此就产生了所谓的不同的内存模式。
1. ti……
[/Quote]
赵4老师
2010-11-17
打赏
举报
回复
用文件读写模拟大内存
jkmaple
2010-11-17
打赏
举报
回复
[Quote=引用 9 楼 dubiousway 的回复:]
转贴tc说明一部分,看看有用没有
再讲一下Turbo C中的内存模式。内存模式的出现不是由编译器决定的,而是由处理器的寻址方式决定的,在8086处理器中为了在16位寄存器的基础上寻址20位的地址,引入了段寄存器和分段寻址的方式。在编译器这一级,利用这种段式的寻址方式,可以实现多种不同的存储分配方法,因此就产生了所谓的不同的内存模式。
1. tiny模式: 程序和数据在一个64K字节的段内
2……
[/Quote]
先谢谢!
但还是不够用,我要打开一个近二万行(372K)的文件,以后有可能还要大(要求要能够打开至少1M的文本文件),一个字符占一个节点(本人是初次写程序不知这种方法好不好?)
jkmaple
2010-11-17
打赏
举报
回复
好的,我先试试,谢谢各位!
luciferisnotsatan
2010-11-17
打赏
举报
回复
记得tc是16位的,你们公司在给啥东西开发代码?
按ls说的试试看
dubiousway
2010-11-17
打赏
举报
回复
转贴tc说明一部分,看看有用没有
再讲一下Turbo C中的内存模式。内存模式的出现不是由编译器决定的,而是由处理器的寻址方式决定的,在8086处理器中为了在16位寄存器的基础上寻址20位的地址,引入了段寄存器和分段寻址的方式。在编译器这一级,利用这种段式的寻址方式,可以实现多种不同的存储分配方法,因此就产生了所谓的不同的内存模式。
1. tiny模式: 程序和数据在一个64K字节的段内
2. small模式: 独立的代码段(64KB)和独立的数据段(64KB)
3. medium模式: 单个数据段(64KB)和多个代码段(1MB)
4. compack模式:单个代码段(64KB)和多个数据段(1MB)
5. large模式: 多个代码段(1MB)和多个数据段(1MB),数据指针不能跨越段边界,否则将回绕
6. huge模式: 多个代码段(1MB)和多个数据段(1MB),数据指针可以跨越段边界,不会回绕
按理说,即使是tiny模式,7000*4 也应该没问题。不过你可以换换大内存模式看看
greyillusion
2010-11-17
打赏
举报
回复
不知道。。。
jkmaple
2010-11-17
打赏
举报
回复
是的,在TC中改了内存模式虽稍增大了点,但 还是不够用,这个和物理内存没有关系吧,我内存2G的?急死了?各位帮帮忙!谢谢!
别逗我乐
2010-11-17
打赏
举报
回复
可能系统,不能
一次提供
》7000结点的
连续
空间吧
一次非要用这么多么,
要不换成静态的试试
jkmaple
2010-11-17
打赏
举报
回复
sizeof(4)
C4Fun
2010-11-17
打赏
举报
回复
malloc 和编译器没有关系吧,你申请了多大的空间?7000*sizeof(_tag_struct) = ??
hastings
2010-11-17
打赏
举报
回复
买根内存条~~
jkmaple
2010-11-17
打赏
举报
回复
TC不好用,但公司要求,没办法!
Trinx
2010-11-17
打赏
举报
回复
TC很好用吗?
TC
++3.0
能直接编译图形 .... 推荐... 特别推荐!!!
什么是
内存
对齐?
内存
对齐的原则?为什么要进行
内存
对齐,有什么优点?
是指在计算机中,为了提高
内存
访问效率,数据在
内存
中的存储地址需要满足特定的对齐要求。不同的数据类型(如intfloatdouble等)在
内存
中的存储地址往往有特定的对齐边界,通常是该数据类型大小的倍数(比如int通常对齐到 4 字节,double通常对齐到 8 字节)。
与
TC
集成的web工程执行请求后
内存
未释放
问题
代码中使用相同账号登录
TC
时,使用不同的sessionDiscriminator时,多个请求执行时,会产生多个
tc
server.exe,执行完成后logout,
tc
server.exe也会结束,
内存
释放。与
TC
集成的web工程部署到tomcat服务器后,执行完某个接口的功能,发现
内存
较执行之前有所增加,并且随着执行该接口的次数增加,
内存
也随着增加。请求进入该接口后,在执行与
TC
相关的逻辑之前需要登录
TC
,但在逻辑执行结束后未退出,导致
tc
server进程一直存在占用
内存
。
tc
六种
内存
模式
tc
六种
内存
模式 2019年03月27日⁄ 综合⁄ 共 831字 ⁄ 字号小中大⁄评论关闭
tc
六种
内存
模式:tiny、small、medium、compact、large和huge,其中tiny、small和medium由于数据段不能超过64k,叫小数据模式,compact、large和huge的数据段可以超过64k,叫大数据模式;类似地,tiny、small和compa...
【
TC
3xx芯片】
TC
3xx芯片的总线
内存
保护
TC
3xx芯片的总线
内存
保护
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章