C_and_CPP 板


LINE

※ 引述《liu2007 (薯)》之铭言: : 上课的时候 : 如果程式里有写到链节串列 : 老师都会叮咛我们要记得把所有节点free掉 : 要不然一直test程式会一直吃掉记忆体 : 除非重开机 reboot (我同学说的,不知对否....) 程式结束就会释放了 在你的 main 回传之後系统会做一些事帮你把这些还没还的还掉 (讲系统不太精准 应该是 C Runtime library 不过这里暂时不扯那麽多 你只要知道有人会帮你还就行了) : 那麽我们使用int float char .........等等的变数呢? : 为什麽不需要特别把它们free掉呢? : 我自己猜是因为当run 结束之後IDE会自动把这些保留字型态的变数free掉 : 不知道对不对..... 不对... 这关乎於你的变数的存放位置是哪里来的 new / malloc 来的东西是在 heap 里面 而你平常宣告的区域变数则是在 stack 里 差别在於在 stack 里的变数离开函式就会自动不见 (要讲为什麽会自动不见就要扯更远 这里就打住) 而 heap 的则不会因为离开函式而不见 也因此需要你明确表示我现在不用了 (即 delete / free) : 此外 : 我又想到 : 以後开发程式出来後并没有IDE : 当程式关掉之後并没有东西帮我们free掉变数 : 请问是否要自己养成习惯 : 在程式结束後把所有变数free掉?? : 如果猜错的话就见笑了 Orz.... 养成习惯是好的 刚刚说过如果都没还的话 会在你的程式结束时有人会帮你还 所以当你写了一个需要跑上好久的程式的话 这一点一点的 malloc 会把 heap 给吃光 吃光了就再也要不到空间了 这被称做 memory leak -- "LPH" is for "Let Program Heal us".... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.84
1F:推 QQ29:L大我想问一下 global变数 所占的空间叫text segment吧 10/22 19:37
2F:→ QQ29:那他跟stack 是一起的嘛?我意思是说 global用多少会影响stack 10/22 19:37
3F:→ QQ29:剩多少可用嘛? 10/22 19:37
4F:→ nowar100:我以前学os的印象 global是放在data seg code才是放在 10/22 19:38
5F:→ LPH66:这个可能要深入到OS的记忆体配置了... 10/22 19:38
6F:→ LPH66:不过就我的经验是不会 10/22 19:39
7F:→ nowar100:text seg @@" 10/22 19:39
8F:→ LPH66:四楼这麽一说才想起来 global 是在 data/bss seg 没错 10/22 19:40
9F:推 QQ29:之前看推文说 char *="放在text seg" 其实是错的噜? 10/22 19:48
10F:→ QQ29:所以是 char*这个指标 和"这个字串" 都摆在data segment? 10/22 19:49
11F:→ QQ29:还有就是 text segment 所谓的放code code是 machine code嘛? 10/22 19:51
12F:→ MOONRAKER:当然是机械码,就算exe里有夹debug code也不会load进去 10/22 20:08
13F:推 greenmiracle:wiki写说data segment可能还会分读写和唯读两区 10/22 21:51
14F:→ greenmiracle:指标变数放在读写区,後面的字串放在唯独区 10/22 21:51
15F:→ greenmiracle:stack应该不在哪一个section,ms的linker预设把exe 10/22 21:51
16F:→ greenmiracle:的base address设成0x00400000,它的stack比这个位址 10/22 21:52
17F:→ greenmiracle:还低,而且grows down~~~~~有错请指教 10/22 21:52







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP