logo

GCC לינוקס

בלינוקס, ה-GCC מייצג אוסף מהדרים של גנו . זוהי מערכת מהדר לשפות התכנות השונות. הוא משמש בעיקר כדי להדר את תוכניות C ו-C++. זה לוקח את השם של תוכנית המקור כטיעון הכרחי; ארגומנטים של rest הם אופציונליים כגון איתור באגים, אזהרה, קובץ אובייקטים וקישור ספריות.

GCC הוא מרכיב ליבה בשרשרת הכלים של GNU. פרויקטים שונים בקוד פתוח מורכבים באמצעות GCC, כגון ליבת לינוקס וכלי GNU.

הוא מופץ תחת ה-GPL (רישיון ציבורי כללי). הגרסה הראשונה, GCC 1.0 , שוחרר בשנת 1987. זה היה רק ​​עבור שפת התכנות C, אבל באותה שנה, הוא הוארך עבור שפת תכנות C++ . מאוחר יותר, הוא פותח עבור שפות תכנות אחרות כגון Objective-C, Objective-C++, Fortran, Java , עדה, גו ועוד. לגרסה האחרונה שלה יש יישום משופר בהרבה של שפות התכנות.

זה השותף הרשמי של GNU OS; לכן, הוא אומץ כמהדר הסטנדרטי של מערכות מבוססות לינוקס.

תיבת התראות javascript

רכיבי GCC

GCC הוא כלי נייד, והוא יכול לפעול על מערכות הפעלה רבות. כמו כן, ניתן להעביר אליו חלונות על ידי שימוש בכלים מסוימים כגון Cygwin, MinGW ו-MinGW-W64 . מכיוון שהוא מרכיב מפתח ב-GNU Toolchain, הוא מכיל את הרכיבים הבאים לפיתוח יישומים ומערכות הפעלה:

אוסף מהדרים של GNU (GCC): זוהי חבילת מהדר לשפות רבות, כגון C/C++ ו-Objective-C/C++.

יצרן גנו: זהו כלי אוטומציה המשמש להידור ובניית יישומים.

GNU Binutils: זוהי חבילה המכילה כלי עזר בינאריים כגון מקשר ו מאסף .

Debugger GNU (GDB). הוא משמש לניפוי באגים ביישומים.

כלי אוטומטי של גנו: זוהי מערכת בנייה המכילה כמה כלי שירות כגון Autoconf, Autoheader, Automake ו-Libtool.

GNU Bison: זהו מחולל מנתח כמו lex ו-yacc.

תהליך מהדר GCC

ה-GCC מרכיב והופך תוכנית ניתנת להפעלה בארבעת השלבים הבאים:

GCC לינוקס

עיבוד מקדים: בשלב זה, המעבד המקדים של GNU (cpp.exe) יוצר קובץ ביניים עם קוד המקור. המעבד המקדים כולל את הכותרות (#include) ומרחיב את פקודות המאקרו (#define). שקול את הפקודה הבאה:

 cpp hello.c > hello.i 

הפקודה לעיל תיצור קובץ ביניים 'hello.i'.

הַהדָרָה: בשלב זה, קוד המקור המעובד מראש מקומפל לקוד assembly עבור מעבד ספציפי.

 gcc -S hello.i 

הפקודה לעיל תיצור קובץ assembly 'hello.s'. האפשרות '-s' משמשת כדי לציין את זה כדי לייצר את קוד ההרכבה ולא את קוד האובייקט.

הַרכָּבָה: קוד ההרכבה מומר לקוד מכונה. זה יצור קובץ אובייקט 'hello.o.'

 as -o hello.o hello.s 

קישור: הקישור (ld.exe) הוא השלב האחרון בתהליך המהדר. הוא מקשר את קוד האובייקט עם קוד הספרייה ומייצר קובץ הפעלה.

 ld -o hello.exe hello.o 

הפקודה לעיל תיצור קובץ הפעלה 'hello.exe'.

התקנה של GCC על לינוקס

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

 gcc -version 

הפקודה לעיל תציג את הגרסה המותקנת של כלי GCC. אם הוא לא מותקן, בצע את השלבים הבאים כדי להתקין אותו:

שלב 1: עדכן את רשימת החבילות.

כדי לעדכן את רשימת החבילות, בצע את הפקודה הבאה:

 sudo apt update 

זה יבקש את הסיסמה הניהולית של המערכת, הזן את הסיסמה. זה יתחיל לעדכן את חבילת המערכת. שקול את ההצמדה של הפלט למטה:

ddl לעומת dml
GCC לינוקס

שלב 2: התקן את חבילת ה-build-essential.

הוא מכיל חבילות שונות כגון gcc, g++, ו-make utility. בצע את הפקודה למטה כדי להתקין אותו:

 sudo apt install build-essential 

הפקודה לעיל תתקין את החבילות הנדרשות עבור כלי השירות GCC. כעת, אנו יכולים להשתמש בכלי השירות GCC במחשב שלנו. שקול את ההצמדה של הפלט למטה:

GCC לינוקס

שלב 3: ודא את ההתקנה.

כדי לאמת את ההתקנה, בצע את הפקודה gcc -version באופן הבא:

 gcc --version 

זה יציג את הגרסה המותקנת של כלי השירות GCC. כדי להציג את הפרטים הספציפיים יותר על הגרסה, השתמש באפשרות '-v'. שקול את הפלט שלהלן:

GCC לינוקס

כאן, התקנו בהצלחה את כלי השירות GCC. בואו נבין להשתמש בזה. אנו ניצור ונפעיל כמה תוכניות c באמצעות GCC.

הפעל את תוכנית C הראשונה על ידי gcc

צור בסיס תוכנית ג 'שלום עולם!'. צור קובץ 'hello.c' והכנס בו את הקוד למטה:

 #include int main() { printf('Hello, world!
'); return 0; } 

כעת, הרכיב את ה-hello.c באופן הבא:

 gcc hello.c 

אם נריץ ישירות את ה-hello.c, הוא יזרוק את השגיאה. הפוך אותו לניתן הפעלה, קובץ ברירת המחדל להפעלה עבור מערכת לינוקס הוא a.out. כדי להפעיל את הקובץ, בצע את הפקודה chmod באופן הבא:

 chmod a+x a.out 

כעת, הפעל את תוכנית c כ:

 ./a.out 

שקול את הפלט שלהלן:

GCC לינוקס

דוגמאות לפקודות GCC

כמה דוגמאות שימושיות לפקודה gcc הן כדלקמן:

    ציין את שם קובץ האובייקט

כברירת מחדל, הפקודה gcc יוצרת את קובץ האובייקט כ א.אאוט .' אם ברצונך לשנות את שם קובץ הפלט המוגדר כברירת מחדל, השתמש ב- '-או' אוֹפְּצִיָה.

בוא נבצע את הפקודה הבסיסית gcc:

 gcc hello.c 

הפקודה לעיל תיצור את קובץ האובייקט 'a.out'. כדי לציין את שם קובץ האובייקט, בצע את הפקודה באופן הבא:

 gcc hello.c -o hello 

זה יפיק את קובץ הפלט 'שלום'. שקול את הפלט שלהלן:

GCC לינוקס
    אפשר את כל האזהרות

כדי להפעיל את כל האזהרות בפלט, השתמש ב- '-קִיר' אפשרות עם הפקודה gcc. בואו ניצור משתנה בפונקציה הראשית של hello.c. שקול את הקוד שלהלן:

hello.c:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

אם נקמפל את הקוד לעיל באמצעות אפשרות -Wall. זה יזרוק את האזהרות. בצע את הפקודה למטה כדי להרכיב את הקובץ:

 gcc -wall hello.c 

הפקודה לעיל תציג את האזהרות. שקול את הפלט שלהלן:

GCC לינוקס
    הפק את הפלט השלב של תהליך ההידור

אנחנו יכולים לייצר רק את הפלט השלב של תהליך הקומפילציה.

הפק את פלט הפרה-מעבד

אנו יכולים להפיק רק את הפלט הקדם-תהליכי באמצעות האפשרות '-E'. שקול את הפקודה הבאה:

 gcc -E hello.c > hello.i 

מהפקודה לעיל, קובץ 'hello.i' המכיל פלט מעובד מראש נוצר. שקול את הפלט שלהלן:

GCC לינוקס

הפק את קוד ההרכבה

כדי להפיק את קוד ההרכבה, בצע את הפקודה עם האפשרות '-S'. שקול את הפקודה הבאה:

 gcc -S hello.c > hello.s 

הפקודה לעיל תיצור את ה-'hello.s.' קובץ המכיל את קוד ה-assembly. שקול את הפלט שלהלן:

GCC לינוקס

הפק את הקוד המהודר

גנריות ב-java

אנו יכולים להפיק רק את הקוד המהודר על ידי שימוש באפשרות '-C'. שקול את הפקודה הבאה:

 gcc -C hello.c 

הפקודה לעיל תיצור קובץ 'a.out', הכולל רק את קוד המכונה או הקוד הקומפילי. שקול את הפלט שלהלן:

GCC לינוקס

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

אנו יכולים לייצר את כל קבצי הביניים של תהליך ההידור על ידי שימוש באפשרות '-save-temp'. שקול את הפלט שלהלן:

 gcc -save-temps hello.c 

הפקודה לעיל תיצור את כל קבצי הביניים וכן קבצי הפעלה בבת אחת. שקול את הפלט שלהלן:

GCC לינוקס
    הדפס את הפלט בצורה מילולית.

אנו יכולים להציג מידע מפורט על כל צעד שנעשה על ידי פקודת gcc. לשם כך, בצע את הפקודה עם האפשרות '-v'.

 gcc -W -v hello.c 

שקול את ההצמדה של הפלט למטה:

GCC לינוקס

דנו בכמה דוגמאות שימושיות ביותר של הפקודה gcc. מכיוון שהפקודה gcc מאפשרת מספר עצום של אפשרויות, אתה יכול להיתקע בכל מקום בזמן השימוש בה. בוא נראה איך לקבל עזרה בעצמך מהמסוף.

מדריך של GCC

אם אתה נתקע בכל מקום בזמן שאתה משתמש בפקודה gcc, אתה יכול להיעזר במסוף שלך. כדי לגשת למדריך משורת הפקודה, בצע את הפקודה man באופן הבא:

 man gcc 

הפקודה לעיל תציג את המדריך המכיל תיאור ורשימת האפשרויות הנתמכות עם תיאור קצר. שקול את ההצמדה של הפלט למטה:

GCC לינוקס

אתה יכול לגלול את הפלט כדי לקרוא עוד. הקש על מקש 'h' לעזרה ועל q כדי לצאת מהמדריך ולחזור למסוף.