שינויים

קפיצה אל: ניווט, חיפוש

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

נוספו 4,628 בתים, 11:25, 31 באוקטובר 2010
/* שאלה קטנה */ תשובה קטנה
=שאלות=
 
 
== שאלה קטנה ==
אז ככה, משהו טיפה מעצבן ב-C, למישהו יש מושג איך אפשר להריץ את הקוד שאנחנו כותבים בלי שהמסך ייכבה תוך שנייה (ואין לי כח להעביר את הקובץ למחשבים של האוניבריסטה כל פעם שאני רוצה לבדוק משהו)?
 
:עם איזה קומפיילר אתה עובד? בכל מקרה, אם אני מבין נכון, אתה יכול להוסיף קריאת משתנה בשורה האחרונה, ואז הוא יחכה שתעשה enter או משהו בסגנון.
 
:(מישהו אחר) אני מניח שאתה משתמש ב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
עריכות