一道面试题,请解释下heap的特性 heap随机分配不定长度的内存,GC内存回收 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GC就是要让开发人员从这里面解放出来,面试人员却非要把人往这里面推,这是何苦来哉,10个C#程序员9.5个不会自己去写unsafe代码 不知道对方是问你.net知识,还是“操作系统原理”知识?如果是后者,那么是一个很正规的试题,你可以随便回答“堆和栈的区别”,对于学生来说也很合适(因为学生没有什么本事,就是会做单元考试题,考试题都是书本上固定的背诵的那点儿)。通常面试官应该会“引导”你的。如果没有给你更多的提示,就是问你能不能背诵死概念,那么就算了,别费劲揣摩人家“想要的”是什么了。 Heap先进先出,举个例子我们搞C的程序猿一般需要在进程堆中分配内存,通常会用到HeapAlloc,这个堆中可以做的事情有很多比如我们动态注入ARM汇编码,在动态去Call它,可以使用_asm代码段,不过一般是采用CallWindowProc去Call这一块内存堆与栈相同,但又不相同,为什么这样说?堆是不受到保护的内存区域,而栈会受到保护,当然我们可以设置堆中某块内存的保护状态,那么堆便可以理解为栈,实际上两个本质上是一样的,只是作用域不一样修改某块内存的保护状态我们一般是采用VirtualProtect函数来设置,这个函数用得也比较多,比如把外挂,木马之类的软件 C#GPRS编写代码 如何通过C#程序访问局域网中共享文件夹 求一个排列组合算法,高分! 关于数组 未指定的错误 自定义的数据库类型那里错了呢?? 如何引入WebDataAccess命名空间 好何实现点击下拉按钮,在下方显示表格。有点像ComboBox 怎么把上下文传到下一个网页? 谁知道ASP.NET应用程序中DownDropList和DataList的以下用法? c#数据库查询,并显示 【求助】c#调用c++写的DLL
一般需要在进程堆中分配内存,通常会用到
HeapAlloc,这个堆中可以做的事情有很多
比如我们动态注入ARM汇编码,在动态去
Call它,可以使用_asm代码段,不过一般
是采用CallWindowProc去Call这一块内存堆与栈相同,但又不相同,为什么这样说?
堆是不受到保护的内存区域,而栈会受到
保护,当然我们可以设置堆中某块内存的
保护状态,那么堆便可以理解为栈,实际上
两个本质上是一样的,只是作用域不一样修改某块内存的保护状态我们一般是采用
VirtualProtect函数来设置,这个函数用得
也比较多,比如把外挂,木马之类的软件