ASM 板


LINE

看板 ASM  RSS
※ 引述《king19880326 (OK的啦~我都可以接受)》之铭言: : 这学期学了组语 : 在课堂上老师解释的时候 : 时常会拿c语言跟组语之间的转换来给我们作为比较 : 可是我最近在写的时候突然发现 : 如果说, 一个c程式对於变数的静态宣告 : ex. int a = 5 : 其实就是在组语程式的最前面, 先给了一块变数位址 : 那动态的呢(ex. malloc, calloc)?? : 翻了整本教科书, 实在想不到什麽组语的指令可以做到这件事 OTZ 这个问题的答案有点复杂 可以直接回答 没有指令可以做到分配动态记忆体空间这件事 XD 怎麽说呢 请听我细细道来 在我们写了一个程式之後 我们会把这个程式编译成一个执行档 比如说一个elf档 这个elf档里面会有一些资讯告诉我们一些事情 像是entry point(程式开始执行的位址) 还有stack pointer跟heap的起始位址 还有bss跟一些有的没的的讯息 我们开始执行程式之後 OS就会把它load到记忆体里面 然後会根据上面讲的那些讯息 作一些处理 而我们在程式中 如果呼叫了一个malloc函式 这个函式就会去呼叫底层的system call 发system call去做这件事 以glibc的做法好像是 如果空间不太大就呼叫sbrk的 system call 如果空间太大就呼叫mmap的system call 然後OS 会根据这些system call 去分配一块记忆体空间给这个程式 如果是malloc这种动态要的 就会分配在 heap指的 位址下面 这块空间OS会帮你的程式管理避免其他程式再用到同一块位址 然後你的程式就可以使用这个位址了 大致上就是这样 结果说了老半天还是没说到 组语会做什麽事 组语其实就是会去设定heap的位址这样而已 把heap的位址设出来 就可以用了 以上讲的都是有OS并使用glibc的作法 如果是在没有OS的情况下要malloc记忆体 使用的是newlib的话 newlib就不会去帮你管理记忆体空间了 记忆体空间 会是你怎麽要就可以怎麽用 管理记忆体空间这件事就要程式自己去做了 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.223.44
1F:推 anr2:推!! 08/01 12:48







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP