社区
C语言
帖子详情
TC内存问题?
jkmaple
2010-11-17 09:18:08
用TC编辑器写程序,中间用到malloc申请内存,只能申请到7000多个结点,就不能申请了,请问个位高手有没有解决方案了?(公司要求现在只能用TC写程序)
...全文
154
16
打赏
收藏
TC内存问题?
用TC编辑器写程序,中间用到malloc申请内存,只能申请到7000多个结点,就不能申请了,请问个位高手有没有解决方案了?(公司要求现在只能用TC写程序)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
六种
内存
模式
tc
六种
内存
模式 2019年03月27日⁄ 综合⁄ 共 831字 ⁄ 字号小中大⁄评论关闭
tc
六种
内存
模式:tiny、small、medium、compact、large和huge,其中tiny、small和medium由于数据段不能超过64k,叫小数据模式,...
TC
297 Memory Maps
内存
映射
TC
29x CPU相关
内存
如下: PMU0(程序存储器单元)特点如下: —8M 程序闪存 —Data Flash Memory —User Configuration Blocks (DF_UCB) —32KB的BROM CPU0 —32KB的程序高速暂存存储器(PSPR) —120KB的数据...
console.log 一定会导致
内存
泄漏?不打开 devtools 就不会
昨天的文章通过 Performance 和 Memory 工具证明了打开 devtools 的时候 console.log 会有
内存
泄漏。有 console.log 的时候,
内存
是这样的:去掉之后是这样的:我们得出结论,console.log 会导致
内存
泄漏。这点没错...
内存
保护学习(一):
tc
27x的
内存
保护MPU设置浅析(个人理解)
Tc
27x
内存
保护浅想
【AURIX Tricore】
TC
3XX
内存
映射分析
AURIX
TC
3xx系列设备的
内存
映射中包含的各个部分。这些
内存
部分在设备上有各自的用途和特性。和是用来存储程序代码的闪存。即使在断电时,存储在闪存中的数据也不会丢失。以及包括和,这些可能是用于高速数据存取的...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章