QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 9653|回复: 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 k0 F6 {, u% _8 F* i/ e8 w: y2 p
          一年前本人做了一个程序,大概代码中有这么一段
    ! p0 Z& O# f8 y2 M6 cvoid function()
    ( h8 ]1 Z# O5 S/ T7 i{
    ( j" R" U! }2 P5 M        ……
    0 {$ v; v( S% N% L        int  a[400][400];% J  _( M8 {! O; _! X
            ……
    , v- \9 H2 }5 q5 W& L}3 Q! W6 B" H  B1 U  O
           系统在执行该函数的时候,程序直接崩溃,有时候杀毒软件还出来报错。我经过几番调试使出浑身解数,这个问题还是迟迟不能解决。最终我只有问自己的老师。
    1 Z8 j( Q9 V7 W" u" c' u        当时我问到我的操作系统老师,他看到我这行程序,一语道破天机,也为我讲了一个非常精彩的故事。
    , T# J% _7 Z9 J0 V- ?3 O        任何操作系统中都会有自己的内存管理机制,操作系统为进程分配内存时,有两种方式:动态分配与静态分配。
    9 z/ x' l$ h5 }' ~7 Y        静态分配是进程初始化时进行的,语言中静态分配机制通过static方式在语言中实现。例如:static int sum;
    , ?% Q+ y9 X" `. w$ g. j        动态分配在是进程执行过程中,操作系统根据进程的需要自动分配给进程的。
    # D& \% m1 s) L& z        故事到这里才刚刚开始~!起初windows对于内存分配的很多问题都是采用鸵鸟策略的,但是由于“一张图片引发的血案”微软才不得不重新面对这个问题。
    - N, m; v6 w+ q' @# F$ B        JPEG是一个压缩的图片文件,由于不同的文件解码程序是不同的,因此每个文件的内容中都有关于自己图片的解码程序,而且这些程序在解码过程中,操作系统动态为该解码程序分配内存。这时问题就出来了!!!!
    9 B) ?) [; b- ~1 l" F        有人在图片自带的解码程序中注入了病毒,并且windows中该解码程序的执行权限是很高的。很多人的电脑莫名其妙的中了病毒,最终发现是jpeg搞得鬼。$ E% ^  j) K1 Z# z  o9 `! c5 o1 n
             微软最终限制了进程动态内存分配的最大空间,并且把jpeg解码进程的权限调低,才解决了这个问题。+ H7 c# {, U/ T
            因此我上面的那段程序出了内存溢出的问题。
    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年数学建模国赛备

    回复

    使用道具 举报

    90

    主题

    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

    听众

    3219

    积分

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

    [LV.8]以坛为家I

    社区QQ达人

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

    群组2013年美赛优秀论文解

    群组第四届cumcm国赛实训

    群组数学建模算法之matlab

    群组数模思想方法大全

    回复

    使用道具 举报

    KOF97        

    67

    主题

    19

    听众

    1756

    积分

  • 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, 2026-4-10 03:24 , Processed in 0.886651 second(s), 105 queries .

    回顶部