QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 9830|回复: 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 编辑 & l5 \0 P- |2 A4 L0 Q$ ]  ?

    ! W4 L' f% T* e2 J* o      一年前本人做了一个程序,大概代码中有这么一段! c" `) d7 Y: T8 z  e" L. L
    void function()5 e' Q: Z' \& u$ I- Y% e0 M
    {
    & D7 q5 a. H, G( V: [        ……
    3 B, Z7 O; r, M- Q# L# p1 |5 _        int  a[400][400];
    * w6 t" k( E8 p/ n) {        ……
    ! P, e- F; F* M7 F+ {# t}
    9 I$ z( T" |8 A6 v. m0 q       系统在执行该函数的时候,程序直接崩溃,有时候杀毒软件还出来报错。我经过几番调试使出浑身解数,这个问题还是迟迟不能解决。最终我只有问自己的老师。* N5 {- X6 V4 i( R  ?4 d# F8 c
            当时我问到我的操作系统老师,他看到我这行程序,一语道破天机,也为我讲了一个非常精彩的故事。+ I# `6 O, N# d% K2 h1 W* Z
            任何操作系统中都会有自己的内存管理机制,操作系统为进程分配内存时,有两种方式:动态分配与静态分配。
    0 H$ A2 _: \! O) B) [7 b" }4 P3 d        静态分配是进程初始化时进行的,语言中静态分配机制通过static方式在语言中实现。例如:static int sum;- Q9 C  t4 d& B+ e3 b+ u4 \9 Z
            动态分配在是进程执行过程中,操作系统根据进程的需要自动分配给进程的。
    ! x* r( I; S% C% v, F, T4 s7 ]        故事到这里才刚刚开始~!起初windows对于内存分配的很多问题都是采用鸵鸟策略的,但是由于“一张图片引发的血案”微软才不得不重新面对这个问题。, G6 @! W3 X" f- Q' \; `; w
            JPEG是一个压缩的图片文件,由于不同的文件解码程序是不同的,因此每个文件的内容中都有关于自己图片的解码程序,而且这些程序在解码过程中,操作系统动态为该解码程序分配内存。这时问题就出来了!!!!
    - T0 x" Z: |$ p        有人在图片自带的解码程序中注入了病毒,并且windows中该解码程序的执行权限是很高的。很多人的电脑莫名其妙的中了病毒,最终发现是jpeg搞得鬼。
    & B. w( f. N0 k! f5 b0 W5 p' u         微软最终限制了进程动态内存分配的最大空间,并且把jpeg解码进程的权限调低,才解决了这个问题。
    ) j2 f( U8 I# Y# v' x        因此我上面的那段程序出了内存溢出的问题。
    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

    听众

    3231

    积分

  • 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-7-18 01:15 , Processed in 0.430554 second(s), 102 queries .

    回顶部