שינויים

שיחה:88-170 מבוא לחישוב סמסטר א' תשעא

נוספו 2,506 בתים, 11:25, 31 באוקטובר 2010
/* שאלה קטנה */ תשובה קטנה
:(מישהו אחר) אני מניח שאתה משתמש בVisual Studio. אם במקום F5 תלחץ Control+F5 אז הוא יריץ לך את הקוד בDebugging Mode, שיגרום לזה שזה לא יצא מהתוכנה כשזה מגיע לסוף. פתרון אחר הוא להוסיף לסוף הקוד (לפני הreturn) את הקוד "getchar();".
:(מישהו אחר אפילו יותר) כתבת שאין לך כח להעביר לשרתים של האוניברסיטה כדי לבדוק משהו, אבל אתה לא צריך! GCC (או GNU C Compiler) הוא תכנה חופשית שאתה יכול להתקין על המחשב שלך. הכי קל לעשות זאת על לינוקס או על BSD (לדעתי), אבל ניתן בהחלט לעשות זאת גם על חלונות באמצעות cygwin או MinGW--[[משתמש:Evp55555|Evp55555]] 13:25, 31 באוקטובר 2010 (IST)
===תושבה אמיתית===
כל ההצעות עד כה משנות את הקוד עצמו, וזה לא רצוי. בגלל שאתה עובד ב-Visual Studio, אתה יכול לשים breakpoint בסטף התוכנית, ואז להריץ מהדיבגר. כדי לעשות זאת, תעשה דבל-קליק על השטח האפור משמאל לשורה שמחזירה משהו ב-main שלך (בד"כ, return 0;). ואז, כשאתה מריץ, שים לב שאתה מפעיל מהדיבגגר ולא משום מקום אחר. התוכנית תעצר בנקודה שאמרת לה, ואז תצתרך ללחוץ על הכפתור שנראה כמו חץ ירוק במסך הראשי של הויזואל סטודיו (יש כמה כאלה וכולם יעבדו) כדי ממש לצאת מהתוכנית.--[[משתמש:זיתוני|זיתוני]] 14:33, 29 באוקטובר 2010 (IST)
:התשובה שלך אמנם נכונה ומקצועית, אבל איך Control+F5 משנה את הקוד עצמו? בנוסף, זה גם יותר קל למקרה הזה מאשר דיבאגינג אמיתי. --[[משתמש:Eliavlevy|Eliavlevy]] 22:14, 29 באוקטובר 2010 (IST)
::אני חושב שהתקדמנו קצת מהתקופה של שימוש בקיצורי מקלדת במקום בעכבר. אני לא ממש בטוח מה -ctrl+F5 עושה, אבל ההצעה שלי לא עושה דיבאגינג אמיתי, בגלל שאתה עוצר רק ממש בסוף, וזה לא נותן לך כלום מבחינת דיבאגגינג.--[[משתמש:זיתוני|זיתוני]] 11:52, 30 באוקטובר 2010 (IST)
:::אני לא רואה את הפסול בשימוש בקיצורי מקלדת. אם כבר נכנסנו לזה, Control+F5 מריץ את התוכנה ללא דיבאגינג (לא כפי שחשבתי קודם), אלא כמו שהתוכנה הייתה רצה כשהיא כבר תוכנה מוכנה בתור .exe (כפי שהיינו רוצים, כי המטרה הסופית היא התוכנה הנוצרת לבסוף). לעומת זאת הדרך שלך כן מריץ את התוכנה לפי דיבאגינג אבל כמו שאמרת הוא לא באמת עושה דיבאגינג כי אתה עוצר אותו רק בסוף. חיפשתי טיפה והגעתי לזה: [http://stackoverflow.com/questions/3360900/visual-c-difference-between-start-with-without-debugging-in-release-mode לחץ]. באתר מוסבר שכשמריצים את התוכנה בעזרת הדיבאגר, הדיבאגר בכל זאת פותח/נעזר בכל מיני דברים שמאיטים את הרצת התוכנית. הדרך שלך אמנם יותר טובה אם רוצים לעשות דיבאגינג אמיתי כדי למצוא טעויות, אבל אם המטרה היא רק שהתוכנה לא תצא בשורה האחרונה אז הדרך שלך לא יעילה ויותר ארוכה.
:::נ.ב. אם עדיין חשוב לך לא להשתמש במקלדת בשביל להריץ את התוכנית - אפשר ללחוץ על Debug >> Start Without Debugging...--[[משתמש:Eliavlevy|Eliavlevy]] 12:30, 30 באוקטובר 2010 (IST)
10
עריכות