שאלות תרגיל בית 0

חלק ב',ג'

חלק ב',ג'

על ידי עומר שמחי בתאריך
מספר תגובות: 7

לגבי חלק ב': הפקודה של העתקת הקבצים מ mtmchk/...  אל התקייה Part1  שיצרתי נתקלת בpremission denied. מה עושים לגבי זה?

לגבי חלק ג': לא ככ הבנתי איפה אני כותב את התוכנית של סכום המעריכים, בקובץ mtm_tot שאיפה הוא נמצא ומשהו בכלל? הוא קובץ .c  כמו שהיינו מגישים בעבר במבוא למדמח?

בתגובה ל: עומר שמחי

תשובה ל: חלק ב',ג'

על ידי יורי פלדמן בתאריך

חלק ב' (חלק א'?): לא מספיק מידע. תוכל להעתיק את הפקודה המדוייקת שאתה מפעיל, או להעלות צילום מסך? 

חלק ג': לא הבנתי את השאלה. החלק עוסק בתיקון קוד c קיים, בקובץ mtm_buggy.c. יש לתקן ולהגיש את הקובץ המתוקן. אם התכוונת לשם הקובץ בחלק ב', אז הוא צריך לתאום את שורת הקומפילציה שמופיעה בתרגיל, זו בדיוק השורה שתורץ בבדיקות בשרת (וכן מורצת ע"י ה-final_check

בתגובה ל: יורי פלדמן

תשובה ל: חלק ב',ג'

על ידי עומר שמחי בתאריך

חלק ב': הכוונה לפקודה: cp -r  ~mtmtchk/public/1819b/ex0/part1 ~mtm/et0/part1 מקווה דייקתי עד הסוף. כלורמ פה מופיע לי premission dinied.

חלק ג': כוונתי היא שנגיד לצורך העניין יצרתי בCLION קובץ mtm_tot.c של התוכנית של סכום המעריכים. איך אני ניגש אליה מהserver  csl2 שלי? הרי היא מופיע אצלי בdesktop ולא בserver לא?

בתגובה ל: עומר שמחי

תשובה ל: חלק ב',ג'

על ידי יורי פלדמן בתאריך

אין mtm_tot בחלק ג', רק בחלק ב'. תשובות:

חלק א': בוא נפרט מה כתבת בפקודה, לפי הדוגמאות בשקפים של התרגול 

cp -r אומר תעתיק תיקייה. אחרי זה מופיעה תיקיית המקור שרשמת 

~mtmtchk/public/1819b/ex0/part1

שהיא נמצאת תחת תיקיית הבית של המשתמש mtmchk (כפי שנלמד בתרגול, ~mtmchk זה קיצור לתיקיית הבית של המשתמש mtmchk, שהמסלול אליה בד"כ

/home/mtmchk

אני יודע שמסלול המקור הוא בסדר כי אני יצרתי אותו, אבל אתה יכול לעשות עליו ls למשל כדי לודא שקיים (ושיש לך הרשאת קריאה). 

הלאה מסלול היעד שכתבת 

~mtm/et0/part1

לפי אותם שיקולים כנ"ל זה מסלול שנמצא תחת תיקיית הבית של המשתמש mtm. כיוון שאתה אינך משתמש mtm (אני מקווה, כי זה משתמש אחר של הקורס), לא מפתיע (ואף מרגיע) שזה לא איפשר לך להעתיק, ובעצם כתב לך בצורה בלתי משתמעת לשתי פנים :-) שאין לך הרשאות לכתוב לשם. 

האם זה מה שהתכוונת לעשות? 

חלק ב': נכון. אתה צריך להעלות את הקובץ לתיקייה שלך בשרת (או מלכתחילה לערוך אותו שם). אנא ראה מדריך תחת התיקייה חומר הקורס/מדריכים בנושא. אתה גם יכול להשתמש בפקודה scp שתריץ בתוכנת הלקוח ssh במחשב המקומי (ז"א בשורת פקודה שמופיעה לך לפני שאתה מריץ את פקודת ssh). הפקודה 

scp /path/to/source/file yourusername@csl3.cs.technion.ac.il:path/to/dest/file

אתה יכול גם להשתמש בפקודה man scp (יוצאים ע"י הקשת q, ירידת שורה) או בחיפוש בגוגל בשביל עוד דוגמאות. 

 

 

 

בתגובה ל: יורי פלדמן

תשובה ל: חלק ב',ג'

על ידי עומר שמחי בתאריך

אוקיי אז לגבי חלק א', איך אני כן ניגש לכתובת אליה אני רוצה להעתיק (בתוך תקייה mtm שבתוכה ex0 שבתוכה part1 כמו שהתבקשנו ליצור בתרגיל)?

לגבי החלק השני של התשובה שלך: איך אני עורך את mtm_tot.c ב-server ולא אצלי עצמו?

בתגובה ל: עומר שמחי

תשובה ל: חלק ב',ג'

על ידי יורי פלדמן בתאריך

עורך בשרת ע"י nano, pico או vim (יותר חזק אבל משמעותית יותר קשה ללמוד, יש מדריך באתר הקורס). בכללי שינויים יותר רציניים אתה כנראה רוצה לעשות מקומית ואז להעלות לשרת כמו שתיארתי.

לגבי חלק א' - בשביל זה אמרתי תחזור על מבנה התיקיות ב-unix והדוגמאות מהשקפים. זה חלק מהתרגיל..

 

בתגובה ל: יורי פלדמן

תשובה ל: חלק ב',ג'

על ידי עומר שמחי בתאריך

תודה! שאלה קטנה אחרונה ופחות קשורה בקשר לvisual: בתמונה מה פשר השגיאה הזו? אני חושד שזה קשור לאיך שהגדרתי את הקובץ למרות שהגדרתי אותו .c 

צרופה Screenshot_3.jpg
בתגובה ל: עומר שמחי

תשובה ל: חלק ב',ג'

על ידי יורי פלדמן בתאריך

בבקשה פעם הבאה לפתוח שאלה נפרדת ולא לשרשר נושאים

לדעתי ביצירת פרויקט לא ביטלת את הסימון using precompiled header. ככלל אני ממליץ להתחיל מ-dos application / empty project ולא "simple hello world program".

תעשה חיפוש איך מבטלים את הדגל using precompiled header דרך האפשרויות של הפרויקט (או שפשוט תמצא בעצמך). שים לב שאתה מסמן all configurations בחלון האפשרויות למעלה. עוד אפשרות (אבל אין ממש סיבה) - ליצור פרויקט חדש

ממליץ להשתמש ב-CLion ולא ב-visual studio