QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 8099|回复: 8
打印 上一主题 下一主题

一张图片引发的血案~!!!!----之浅谈windows内存管理中VC遇到的问题

[复制链接]
字体大小: 正常 放大

937

主题

117

听众

3万

积分

升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    跳转到指定楼层
    1#
    发表于 2013-7-23 17:46 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    本帖最后由 wangzheng3056 于 2013-7-25 10:57 编辑 8 z7 O: G+ ?6 ]/ _2 m
    % u8 T1 A# j# X, F2 ?0 c- I& C# W  B
          一年前本人做了一个程序,大概代码中有这么一段
      ?- Y( n+ i5 X7 G; Qvoid function()
    ' M% n% R2 Z6 y9 O3 ^* M{3 \. I, e+ N9 Z+ n5 w' i8 B
            ……
    2 O) h' C5 s/ o) f9 C$ S  W" r        int  a[400][400];
    ' N1 Y) O# f8 M        ……3 ]- c% c* R! g& @3 k1 \- l8 p& `
    }% Z0 j9 N% i% \( ~# E0 M; S
           系统在执行该函数的时候,程序直接崩溃,有时候杀毒软件还出来报错。我经过几番调试使出浑身解数,这个问题还是迟迟不能解决。最终我只有问自己的老师。
    ) c+ @: S: d* J; O6 B" r$ o/ \        当时我问到我的操作系统老师,他看到我这行程序,一语道破天机,也为我讲了一个非常精彩的故事。
    5 p: ^* @# l2 s  O        任何操作系统中都会有自己的内存管理机制,操作系统为进程分配内存时,有两种方式:动态分配与静态分配。
    ! f1 b; `3 M& Z7 N! M        静态分配是进程初始化时进行的,语言中静态分配机制通过static方式在语言中实现。例如:static int sum;! B! ~; u8 ?/ S& S& D7 ]
            动态分配在是进程执行过程中,操作系统根据进程的需要自动分配给进程的。" R% j9 B5 U) L
            故事到这里才刚刚开始~!起初windows对于内存分配的很多问题都是采用鸵鸟策略的,但是由于“一张图片引发的血案”微软才不得不重新面对这个问题。1 K2 G* V* \* j% Z- G
            JPEG是一个压缩的图片文件,由于不同的文件解码程序是不同的,因此每个文件的内容中都有关于自己图片的解码程序,而且这些程序在解码过程中,操作系统动态为该解码程序分配内存。这时问题就出来了!!!!
    7 O9 Q9 H- T, t' @6 O0 q$ r        有人在图片自带的解码程序中注入了病毒,并且windows中该解码程序的执行权限是很高的。很多人的电脑莫名其妙的中了病毒,最终发现是jpeg搞得鬼。
    / z, a3 ?, w5 o- W& V4 o4 l3 R& h         微软最终限制了进程动态内存分配的最大空间,并且把jpeg解码进程的权限调低,才解决了这个问题。
      k0 ~. M- A' V6 K1 I) Y0 x$ e        因此我上面的那段程序出了内存溢出的问题。
    zan
    已有 2 人评分威望 体力 能力 收起 理由
    中国好好好女人 + 50 + 999 + 10 很给力!
    clarkCH + 10

    总评分: 威望 + 50  体力 + 1009  能力 + 10   查看全部评分

    转播转播0 分享淘帖0 分享分享1 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    4

    听众

    30

    积分

    升级  26.32%

  • TA的每日心情
    开心
    2014-9-30 17:53
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    群组学术交流B

    回复

    使用道具 举报

    clarkCH        

    81

    主题

    38

    听众

    1430

    积分

  • TA的每日心情
    擦汗
    2017-3-9 17:15
  • 签到天数: 339 天

    [LV.8]以坛为家I

    自我介绍
    数学爱好者

    社区QQ达人 邮箱绑定达人 新人进步奖

    群组web前端开发交流

    群组2013年数学建模国赛备

    回复

    使用道具 举报

    91

    主题

    105

    听众

    9482

    积分

  • TA的每日心情

    2017-1-30 23:35
  • 签到天数: 318 天

    [LV.8]以坛为家I

    2010挑战赛参赛者

    2011挑战赛参赛者

    2012挑战赛参赛者

    2013挑战赛参赛者

    社区QQ达人

    群组物联网工程师培训

    群组Matlab讨论组

    群组2013认证赛C题讨论群组

    群组数学建模

    群组2013认证赛A题讨论群组

    回复

    使用道具 举报

    邪均佛        

    0

    主题

    9

    听众

    81

    积分

    升级  80%

  • TA的每日心情
    擦汗
    2015-2-6 08:21
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    自我介绍
    努力

    社区QQ达人

    回复

    使用道具 举报

    邪均佛        

    0

    主题

    9

    听众

    81

    积分

    升级  80%

  • TA的每日心情
    擦汗
    2015-2-6 08:21
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    自我介绍
    努力

    社区QQ达人

    回复

    使用道具 举报

    1104

    主题

    5

    听众

    132

    积分

    升级  16%

  • TA的每日心情
    开心
    2015-5-30 18:22
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    邮箱绑定达人

    群组学术交流A

    回复

    使用道具 举报

    7

    主题

    49

    听众

    3205

    积分

  • TA的每日心情
    无聊
    2016-8-1 15:33
  • 签到天数: 340 天

    [LV.8]以坛为家I

    社区QQ达人

    群组数学中国第二期SAS培训

    群组2013年美赛优秀论文解

    群组第四届cumcm国赛实训

    群组数学建模算法之matlab

    群组数模思想方法大全

    回复

    使用道具 举报

    KOF97        

    67

    主题

    19

    听众

    1751

    积分

  • TA的每日心情
    开心
    2014-8-22 09:43
  • 签到天数: 33 天

    [LV.5]常住居民I

    版主

    自我介绍

    新人进步奖

    群组数学中国第二期SAS培训

    群组国赛讨论

    群组2014美赛讨论

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2024-4-25 18:41 , Processed in 0.619612 second(s), 101 queries .

    回顶部