保护“运行内存”,从自身防止缓冲溢出 如何解决 ……

clin003 2004-11-15 07:47:36

系统在程序运行时 , 为程序分配一段内存空间,可若其他程序发生缓冲溢出, 就有可能破坏掉正在运行的 这个程序 ……

那么可以通过什么方法 防止这种 间接破坏运行程序呢 ,就是程序员能做的是什么呢 (目的是:保护本程序不受其他程序的缓冲溢出影响 ……)
能做到吗 怎样实现 (可以谈谈想法 发些伪代码 或者例程都可以 …… )

和 系统的锁有点象哦

谈谈你的看法 (解决方案或方法)
...全文
191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pacman2000 2004-12-20
  • 打赏
  • 举报
回复
应该是操作系统提供的。 每个进程有自己的空间,如果发现访问的地址不在系统已分配给进程的内存页中,操作系统应该告诉进程出错。比如linux下会报segment fault的错误。
clin003 2004-12-06
  • 打赏
  • 举报
回复
这样的确不怎么好 :看了几位的看法 看起来真有点南以实现 ……

不过是想做(找)一个 保护自己不被伤害,而有机会去伤害其他程序 的思路 ……
看来有点 ……
panux 2004-11-16
  • 打赏
  • 举报
回复
我用的是LINUX,你可以调用系统函数做一些这方面的工作,主要是内存管理方面的一写.
但是你如果要做这样的工作,就需要进行内核相关的程序编写.你觉得好吗?
yjh1982 2004-11-16
  • 打赏
  • 举报
回复
什么操作系统?
goodluckyxl 2004-11-16
  • 打赏
  • 举报
回复
ShareMemory

可以吗?
hwman 2004-11-15
  • 打赏
  • 举报
回复
在NT之类的平台上面一般不会因为其他程序的内存溢出而破坏你的程序的内存空间的。这是操作系统提供的保护功能。
shadow22 2004-11-15
  • 打赏
  • 举报
回复
的确不太可能,除非你随时扫描这段内存,判断对内存的修改是否合法。不过太消耗资源,这种功能从操作系统做还有一定可能,自己代码里面实现太困难了。
Andy84920 2004-11-15
  • 打赏
  • 举报
回复
觉得这应该是运行平台所提供的而不是应用程序提供的.个人感觉.:)
dingsea 2004-11-15
  • 打赏
  • 举报
回复
要从开发的角度来讲,不太可能吧,如果真的可以这么做,其实也就影响了其它程序的执行

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧