在生成Release文件时,出现下面2个警告,大家帮我看看究竟什么原因!LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF
LINK : warning LNK4089: all references to "COMCTL32.dll" discarded by /OPT:REF

解决方案 »

  1.   

    内存占用很大十有八九都是由于内存泄漏造成得.Win2000/XP的AdvApi32.dll中实现了基本的Hash和RSA算法.可能是你的程序不用到它,忽略掉了.
    commctrl.dll和comctl32.dll,它们是Windows的自定义控制库(Windows Common Controls)。自定义控制库中包含了许多常用的Windows控件,如Statusbar,Coolbar,HotKey
      

  2.   

    应该是内存泄漏。使用BoundsChecker之类的东东查查,更重要的查看自己的代码。
      

  3.   

    Debug版的调试环境自动清除没有释放或泄漏了的内存。Release版就需要显式的代码操作了。
    使用Debug版的运行,打开DbgView. DbgView会报告出哪些内存没有被正确释放。
      

  4.   

    确实是内存泄漏的问题,刚才我在VC知识库下载了Boundchecker,
    查了半天,内存泄漏较严重,我一一排查,刚刚全部搞定!!!现在Release版没问题了,运行速度也比Debug版要快一些!
    在内存泄漏中,GDI资源泄漏较严重.
    CPen pen....;
    CPen *pOldpen=pDC->SelectObject(&pen);
    CBrush brush;
    CBrush *pOldBrush=pDC->SelectObject(&brush);
    ......................
    ......................pDC->SelectObject(pOldBrush);        //这个必须在前
    pDC->SelectObject(pOldPen);          //这个必须在后有很多错误都产生在这里!
      

  5.   

    LINK : warning LNK4089: all references to "ADVAPI32.dll" discarded by /OPT:REF
    LINK : warning LNK4089: all references to "COMCTL32.dll" discarded by /OPT:REF这两个警告还是存在,不过好像没影响!
      

  6.   

    yturieo(NoName)
            DbgView我没用过,试试看.
    Boundchecker还挺好用的!
      

  7.   

    pDC->SelectObject(pOldBrush);        //这个必须在前
    pDC->SelectObject(pOldPen);          //这个必须在后>>>>搞不清楚了??Brush和Pen有什么必然的这方面的联系吗?