1 פיט - Visual C++ חותיפ תביבס - C/C++
ישאר דומע | םיפיטה דומע "סדמיכרא" תאמ

.תואיגש יופינל רזע יעצמאכ ,debug-ה ןולח ,דחוימ טלפ ןולח תללוכ VC לש חותיפה תביבס
םיטקייבואה בצמ לש םושיר ותועצמאב תכרוע וז MFC - תיירפס לש יביסנטניא שומישב ,רתיה ןיב ,אצמנ הז ןולח
ostream יומד טקייבואו ורקמ תודוקפ רפסמ תנכתמל תקפסמ םג MFC תיירפס .תינכותב תויגטרטסא תודוקנב
.הז ןולחל הביתכל

תורדגומש ורקמ תודוקפ רפסמ תועצמאב debug טלפ בותכל לוכי ןיידע אוה ,MFC-ב שמתשמ וניא תנכתמה םא םג
.C++ לש טלפ-טלקל ליגרש ימל החונ אלה שומישה תרוצ אוה הלא ורקמ תודוקפ לש ןורסחה .crtdbg.h ץבוקב

רכומ ריבחת תועצמאב debug-ה ןולחל בותכל ונל רשפאיש ostream טקייבוא רוציל דציכ הארנ הז פיטב
.ןולח ותואל cout לש טלפה תא "תונפהל" דציכ הארנ ףא .<< רוטרפואב שומיש תועצמאב :C++ יתנכתמל

:VC-ב התצרה רחאל ךסמ םוליצ ןלהל .הטושפ C++ תינכות רוקסנ ,תישאר


תונולח תרצוי הניא איה :Console תינכות תארקנ הז גוסמ תינכות .ילאוטסקט ןולחל הנפומ cout טלפש םיאור ונא
ןניאש תועדוה ,םינוש םילודומ תניעטל תועגונה VC לש תועדוה תוארל לכונ debug-ה ןולחב .סודניוו לש םייפארג
.עגרכ ונתוא תוניינעמ

.cout-ב םישמתשמ ונא הב הרוצ התואב וב שמתשהל לכונו ostream טקייבוא והז .cdbg טקייבואה תא הנבנ תעכ

:תינכותל אבה דוקה תא ףיסונ

#include 

#ifdef _DEBUG

#include 

class dbgbuf : public streambuf 
  {
    virtual int overflow(int c) 
      {
	if (unbuffered() || !base()) 
          _RPT1(_CRT_WARN, "%c", (char)c);
        return 0;
      }

    virtual int underflow() 
      {
	return 0;
      }
  };

ostream_withassign cdbg(new dbgbuf);
#define cout cdbg

#endif

!לכה הז

סחייתי רדהמה define תייחנהל תודוה ,ףסונב .debug-ה ןולחל ללמ חולשל ידכ cdbg טקייבואב שמתשהל לכונ התעמ
ifdef תא דירונ םג הז הרקמב .ךכב םיניינועמ ונניא םא וז הרוש לטבל לכונ) cdbg וז התיה וליאכ cout הלימל
.(endif-ו
:תורושה תא stdafx.h ץבוקל ףיסונ ןכמ רחאל .h ץבוק ורובע רוצילו דרפנ cpp ץבוקל הזה דוקה תא סינכהל יאדכ

#include "dbgbuf.h"
extern ostream_withassign cdbg;

.cdbg טקייבואה תא וריכי ונלש טקייורפה יצבק לכ האלהו התעמ
.םיליגר םייאנולח םימושייל םג הב שמתשהל לכונ .דבלב Console ימושייל תלבגומ הניא וז הקינכט

:הקינכטב שומישה תא םיגדמ אבה ךסמה םוליצ