גודל של EXE לדוס ב- CPP

shaiby

New member
גודל של EXE לדוס ב- CPP

סופ סופ סיימתי את המבוא למודל של האבטיפוס של הפרוטוטייפ של התוכנית שבאמת רציתי לכתוב. בערך 50 שורות, כולן כתובות בתוך MAIN , (טראגי. אני יודע. אבל זו באמת רק ההתחלה לה לה). קובץ ה- EXE יצא 1350K, טבין ותקילין ! ואני שואל - למה ???? איך כזה גדול ? השתמשתי קצת ב- STRING, קצת ב- VECTOR , אבל זה לא תירוץ.... למישהו הפתרונים ? תודה, שי.
 

vinney

Well-known member
++C

אחלה תירוץ. בנוסף, שימוש במחלקות בעלות פונקציות virtual מוסיף הרבה קוד. תבדוק אם יש לך איפהשהו (או שאתה משתמש במחלקות סטדנרטיות המגדירות כאלה?) בגדול, אם אתה כותב בקומפיילר של VS, נוסף הרבה קוד של חלונות, זאת לא אפליקציית DOS אלא Win32. אבל למה הגודל מפריע לך? כבר עברו הימים בהם היית צריך להפיץ תוכנה על דיסקט 360K...
 

vinney

Well-known member
הא, וDEBUG INFO

תראה שאתה מקמפל בתצורת RELEASE (בVS) או בלי האופציה g- בGCC.
 

shaiby

New member
אני עובד עם DEV C++ , כי זה מה יש

כרגע... בדקתי - האופציה -g לא מופעלת, וחוצ ממופע יחיד של STRING ומופע יחיד של VECTOR , אשכרה אין שום דבר בתוכנית הזו.... הגודל לא ממש "מפריע", פונקציונלית, אבל מטריד אותי איכ ה EXE תפח למימדים כאלו... מה לכל ה%^$%^ הוא מחביא שם ?!?!? תודה על העצות, שי.
 

vinney

Well-known member
יש לך משתנים גלובליים/סטטיים?

אם יש לך שם בטעות איזה כמה מערכים, הם נשמרים בקובץ הEXE. בגדול, מופע יחיד של STRING ו VECTOR ו50 מופעים של STRING וVECTOR (של אותו טיפוס כפרמטר לתבנית, כמובן) יתפסו בדיוק אותו מקום. והוא לא מועט, כי יש להם הרבה פונקציות. GCC אבל אמור לעשות אופטימיזציות לא רעות, תבדוק שהאופציות מופעלות.
 
למעלה