一道面试题,请解释下heap的特性 heap随机分配不定长度的内存,GC内存回收 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GC就是要让开发人员从这里面解放出来,面试人员却非要把人往这里面推,这是何苦来哉,10个C#程序员9.5个不会自己去写unsafe代码 不知道对方是问你.net知识,还是“操作系统原理”知识?如果是后者,那么是一个很正规的试题,你可以随便回答“堆和栈的区别”,对于学生来说也很合适(因为学生没有什么本事,就是会做单元考试题,考试题都是书本上固定的背诵的那点儿)。通常面试官应该会“引导”你的。如果没有给你更多的提示,就是问你能不能背诵死概念,那么就算了,别费劲揣摩人家“想要的”是什么了。 Heap先进先出,举个例子我们搞C的程序猿一般需要在进程堆中分配内存,通常会用到HeapAlloc,这个堆中可以做的事情有很多比如我们动态注入ARM汇编码,在动态去Call它,可以使用_asm代码段,不过一般是采用CallWindowProc去Call这一块内存堆与栈相同,但又不相同,为什么这样说?堆是不受到保护的内存区域,而栈会受到保护,当然我们可以设置堆中某块内存的保护状态,那么堆便可以理解为栈,实际上两个本质上是一样的,只是作用域不一样修改某块内存的保护状态我们一般是采用VirtualProtect函数来设置,这个函数用得也比较多,比如把外挂,木马之类的软件 大批量TCP连接怎么处理? 用C#如何获得某一文件夹下的某类文件的路径. 急救,弱智问题!!关于DataTable 如何用webbrowser调用网页 请问为什么会实例化?求高人解释 MSChart20Lib如何加载? 媒体播放器循环播放音乐 我用c#调用vc编写的dll,出错!!!求助!!! 有关用c#做的windows service的问题~ 在win窗体中这样为什么不行(在线) c#数据库查询,并显示 【求助】c#调用c++写的DLL
一般需要在进程堆中分配内存,通常会用到
HeapAlloc,这个堆中可以做的事情有很多
比如我们动态注入ARM汇编码,在动态去
Call它,可以使用_asm代码段,不过一般
是采用CallWindowProc去Call这一块内存堆与栈相同,但又不相同,为什么这样说?
堆是不受到保护的内存区域,而栈会受到
保护,当然我们可以设置堆中某块内存的
保护状态,那么堆便可以理解为栈,实际上
两个本质上是一样的,只是作用域不一样修改某块内存的保护状态我们一般是采用
VirtualProtect函数来设置,这个函数用得
也比较多,比如把外挂,木马之类的软件