QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 9139|回复: 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 l" u' o+ F4 b3 g/ c' u1 p, k5 w6 D" v( R  A6 j" s; o' T+ h
          一年前本人做了一个程序,大概代码中有这么一段
    % ~4 G2 a8 x& V1 k& o7 n' J. d% \void function()
    6 J; K  F. M# q; R4 e) v* p{
    6 H- T( T4 n( E1 Q8 g        ……
    5 O6 n% O4 k* p2 O, L$ l% [        int  a[400][400];  [6 M; u+ d5 \# b$ v
            ……
    - \1 ?* {6 m  c  \7 E1 ]; h3 r}
    / L% n& W  g' I       系统在执行该函数的时候,程序直接崩溃,有时候杀毒软件还出来报错。我经过几番调试使出浑身解数,这个问题还是迟迟不能解决。最终我只有问自己的老师。) O" I7 I, K, T, `' H$ u
            当时我问到我的操作系统老师,他看到我这行程序,一语道破天机,也为我讲了一个非常精彩的故事。+ E- `( E# |& P1 q# j2 U
            任何操作系统中都会有自己的内存管理机制,操作系统为进程分配内存时,有两种方式:动态分配与静态分配。1 v  _: Y5 G0 {; n3 I' M
            静态分配是进程初始化时进行的,语言中静态分配机制通过static方式在语言中实现。例如:static int sum;) c9 ~% e  x9 `: }  s
            动态分配在是进程执行过程中,操作系统根据进程的需要自动分配给进程的。
    0 g8 P' m6 H4 b# w: Y) P9 i        故事到这里才刚刚开始~!起初windows对于内存分配的很多问题都是采用鸵鸟策略的,但是由于“一张图片引发的血案”微软才不得不重新面对这个问题。
    ' e. G$ H3 M. U% Y, ]        JPEG是一个压缩的图片文件,由于不同的文件解码程序是不同的,因此每个文件的内容中都有关于自己图片的解码程序,而且这些程序在解码过程中,操作系统动态为该解码程序分配内存。这时问题就出来了!!!!
    ; W2 z; E% j! ~; {  u% O" V( ]0 d        有人在图片自带的解码程序中注入了病毒,并且windows中该解码程序的执行权限是很高的。很多人的电脑莫名其妙的中了病毒,最终发现是jpeg搞得鬼。
    . [$ X2 G6 D! ?         微软最终限制了进程动态内存分配的最大空间,并且把jpeg解码进程的权限调低,才解决了这个问题。
    . V- q( C3 N( j$ P& o# m        因此我上面的那段程序出了内存溢出的问题。
    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

    听众

    9483

    积分

  • 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

    听众

    3215

    积分

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

    [LV.8]以坛为家I

    社区QQ达人

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

    群组2013年美赛优秀论文解

    群组第四届cumcm国赛实训

    群组数学建模算法之matlab

    群组数模思想方法大全

    回复

    使用道具 举报

    KOF97        

    67

    主题

    19

    听众

    1754

    积分

  • 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, 2025-6-16 10:27 , Processed in 0.720363 second(s), 101 queries .

    回顶部