עבור לתוכן

שלום חברים יש לי שאלה בנוגע לקומפיילר של לינוקס

Featured Replies

פורסם

המרצה הביאה לנו תרגיל :

‫הידור‪ ,‬קישור ובדיקה עצמית‬

‫‪ -‬יש לקמפל ולהריץ את התוכנית ב ‪ .LINUX‬שימו לב‪ :‬תוכנית‬

‫שלא תתקמפל במערכת הפעלה ‪ LINUX‬תקבל ציון ‪!0‬‬

‫‪.2‬‬

‫בקומפילציה יש להיעזר בדגלים ‪ ,ansi -pedantic-errors –Wall-‬אשר עוזרים לשפר את‬

‫איכות הקוד‪ .‬שימו לב שכאשר משתמשים בדגל ‪ pedantic-errors-‬ הקומפיילר מחשיב את ה‪-‬‬

‫‪ warnings‬כ‪ !errors-‬הבדיקה תיעשה בעזרת הדגלים הללו‪ ,‬ולכן על התוכניות שלכן להתקמפל‬

‫ללא ‪.warnings‬‬

‫כמו כן‪ ,‬בקומפילציה יש להיעזר בדגל ‪ ,lm-‬שיכלול בתוכניתכם את קובץ הספרייה ‪,math.h‬‬

‫)אם יהי צורך בכך ( ע"מ שתוכלו להשתמש בפונקציות של הספריה ‪.‬‬

אין לי מושג למה היא מתכוונת

יש לי ubntu 12.10 התקנתי בו אקליפס ובאקליפס התקנתי תוסף של שפת C

אין לי שמץ של מושג לאיזה קומפיילר היא מתכוננת

ומה זה בעצם הדגלים הללו...

מישהו יכול בבקשה להסביר לי מי נגד מי בדבר הזה ??

פורסם

הקומפיילר הוא כמובן gcc

ושורת הפקודה צריכה להראות כך

gcc -lm -ansi -pedantic-errors -Wall -o file.output file.input 

פורסם
  • מחבר

תודה על התגובה

והיכן אני רושם את שורת הפקודה במערכת הפעלה ubntu 12.10 ?

פורסם

אני לא משתמש אם אקליפס אלא עריכה וקימפול ידניים, שם זה הולך ככה :

תפתח kwrite או כל עורך טקסט שבא לך (kwrite הוא טוב בזה הוא צובע את הקוד לפי הכללים של השפת תכנות + יש השלמה אוטומטית) ותכתוב בו את הקובץ - למשל את התוכנית לבדיקה :

#include <stdio.h>
int main ()
{
printf ("hell on world\n") ;
return 0 ;
}

תשמור למשל כ myprogram בתיקיית הבית שלך. תשאיר את העורך פתוח כדיישתוכל לערוך ולשנות

במקביל תפתח קונסול ותריץ בו (למשל אם זה תוכנית ב c) :

gcc -x c myprogram
./a.out

התוכנית אמורה לעבוד

אם אתה רוצה לשנות אז תשנה בעורך טקסט ותשמור (בלי לסגור) + תריץ שוב את השורות בקונסול (ניתן לאחד לשורה אחת כדיי שיהיה קל יותר לחזור אליה אם חץ למעלה)

gcc -x c myprogram ; ./a.out

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

-x c

. באותה מידה ניתן להוסיף את האפשרויות האחרות כמו

gcc -x c -ansi -lm -Wall -pedantic-errors myprogram

שורת הפקודה תהיה איפה שהוא בתפריט, תחפש console או shell או terminal

פורסם
  • מחבר

תודה רבה

הצלחתי הכל להבין (:

חוץ מהשורה האחרונה

gcc -x c -ansi -lm -Wall -pedantic-errors myprogram

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

וזה בעצם נותן לי error אם נימצא לי בתוכנית שרשמתי??

פורסם

תנסה את הכול מה שלפניי (עד ל ./a..out כולל) ותראה שאתה מסתדר, שהתוכנית עובדת לך. כדיי להוסיף את האפשרויות שאתה רוצה כמו Wall ansi וכו, תכתוב אותן בנוסף ל -x c בפקודה של ה gcc

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים