Εγκαταστήστε C, C++ Compiler και Εργαλεία ανάπτυξης (build-sential) στο Debian/Ubuntu


Οι περισσότεροι διαχειριστές συστημάτων Linux και μηχανικοί απαιτείται να γνωρίζουν κάποιο βασικό προγραμματισμό για να τους βοηθήσουν στις καθημερινές τους εργασίες. Εάν θέλουν να πάνε ένα βήμα παραπέρα και στον τομέα ανάπτυξης (είτε ως προγραμματιστές πυρήνα είτε ως προγραμματιστές εφαρμογών), τότε το C ή το C++ είναι το καλύτερο μέρος για να ξεκινήσετε.

Διαβάστε επίσης: Εγκαταστήστε τα Εργαλεία C, C++ και Ανάπτυξης στο RHEL/CentOS/Fedora

Σε αυτό το άρθρο, θα εξηγήσουμε πώς να εγκαταστήσετε τους μεταγλωττιστές C και C++ και τα Εργαλεία Ανάπτυξης (απαραίτητα για την κατασκευή ) σχετικά πακέτα όπως make, libc-dev, dpkg-dev κ.λπ. στο Debian και παράγωγα όπως το Ubuntu και το Linux Mint.

Το λογισμικό build-essential περιέχει μια ενημερωτική λίστα λογισμικών που αντιμετωπίζονται ως σημαντικά για τη δημιουργία πακέτων Debian, συμπεριλαμβανομένων του μεταγλωττιστή gcc, του make και άλλων απαραίτητων εργαλείων.

Τι είναι ο μεταγλωττιστής;

Με απλά λόγια, ένας μεταγλωττιστής είναι ένα πρόγραμμα λογισμικού που επεξεργάζεται οδηγίες γραμμένες σε μια γλώσσα προγραμματισμού και δημιουργεί ένα δυαδικό αρχείο που η CPU του μηχανήματος μπορεί να κατανοήσει και να εκτελέσει.

Στις διανομές που βασίζονται στο Debian, οι πιο γνωστοί μεταγλωττιστές C και C++ είναι οι gcc και g++, αντίστοιχα. Και τα δύο προγράμματα αναπτύχθηκαν και εξακολουθούν να διατηρούνται από το Ίδρυμα Ελεύθερου Λογισμικού μέσω του έργου GNU.

Εγκατάσταση μεταγλωττιστή C, C++ και εργαλείων ανάπτυξης (απαραίτητο για την κατασκευή)

Εάν το σύστημά σας δεν έχει το πακέτο build-essential εγκατεστημένο στο σύστημά σας από προεπιλογή, μπορείτε να εγκαταστήσετε την πιο πρόσφατη διαθέσιμη έκδοση από τα προεπιλεγμένα αποθετήρια διανομής ως εξής:

apt-get update && apt-get install build-essential     
OR
sudo apt-get update && sudo apt-get install build-essential

Τώρα είμαστε έτοιμοι να αρχίσουμε να πληκτρολογούμε κώδικα C ή C++… ή σχεδόν. Πρόκειται να σας δείξουμε ένα ακόμη εργαλείο για να ενισχύσετε το σύνολο εργαλείων ανάπτυξής σας.

Επιτάχυνση μεταγλωττίσεων C και C++

Όταν ξέρετε ότι θα χρειαστεί να μεταγλωττίσετε ένα πρόγραμμα, να κάνετε αλλαγές και μετά να μεταγλωττίσετε ξανά, είναι υπέροχο να έχετε ένα εργαλείο όπως η ccache, το οποίο, όπως πιθανότατα θα μαντέψετε με βάση το όνομά του, είναι μια προσωρινή μνήμη μεταγλωττιστή.

Επιταχύνει την εκ νέου μεταγλώττιση αποθηκεύοντας στην προσωρινή μνήμη προηγούμενες μεταγλωττίσεις και ανιχνεύοντας πότε γίνεται ξανά η ίδια μεταγλώττιση. Εκτός από το C και το C++, υποστηρίζει επίσης τα Objective-C και Objective-C++. Οι μόνοι περιορισμοί είναι:

  1. Υποστηρίζει την προσωρινή αποθήκευση μόνο τη μεταγλώττιση ενός μεμονωμένου αρχείου C/C++/Objective-C/Objective-C++. Για άλλους τύπους μεταγλωττίσεων (σύνταξη πολλών αρχείων, σύνδεση, για να αναφέρουμε μερικά παραδείγματα), η διαδικασία θα καταλήξει να εκτελεί τον πραγματικό μεταγλωττιστή.
  2. Ορισμένες σημαίες μεταγλωττιστή ενδέχεται να μην υποστηρίζονται. Εάν εντοπιστεί μια τέτοια σημαία, η ccache θα επιστρέψει σιωπηλά στην εκτέλεση του πραγματικού μεταγλωττιστή.

Ας εγκαταστήσουμε αυτό το εργαλείο:

aptitude install ccache

Στην επόμενη ενότητα, θα δούμε μερικά παραδείγματα μεταγλώττισης κώδικα C και C++ με και χωρίς ccache.

Δοκιμή C και C++ με ένα δείγμα προγράμματος

Ας χρησιμοποιήσουμε το κλασικό παράδειγμα ενός πολύ βασικού προγράμματος C που προσθέτει δύο αριθμούς. Ανοίξτε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου και πληκτρολογήστε τον ακόλουθο κώδικα και, στη συνέχεια, αποθηκεύστε τον ως sum.c:

#include<stdio.h>
int main()
{
   int a, b, c;
   printf("Enter two numbers to add, separated by a space: ");
   scanf("%d%d",&a,&b);
   c = a + b;
   printf("The sum of equals %d\n",c);
   return 0;
}

Για να μεταγλωττίσετε τον παραπάνω κώδικα σε ένα εκτελέσιμο με όνομα άθροισμα στον τρέχοντα κατάλογο εργασίας χρησιμοποιήστε τον διακόπτη -o με gcc:

gcc sum.c -o sum

Εάν θέλετε να επωφεληθείτε από την cache, απλώς συνδέστε την παραπάνω εντολή με ccache, ως εξής:

ccache gcc sum.c -o sum

Στη συνέχεια, εκτελέστε το δυαδικό:

./sum

Αν και αυτό το βασικό παράδειγμα δεν μας επιτρέπει να δούμε την πλήρη ισχύ της ccache, για μεγαλύτερα προγράμματα θα συνειδητοποιήσετε γρήγορα πόσο εξαιρετικό εργαλείο είναι. Το ίδιο ισχύει και για τα προγράμματα C++.

Περίληψη

Σε αυτόν τον οδηγό, δείξαμε πώς να εγκαταστήσετε και να χρησιμοποιήσετε τους μεταγλωττιστές GNU για C και C++ στο Debian και σε παράγωγα. Επιπλέον, εξηγήσαμε πώς να χρησιμοποιήσετε μια προσωρινή μνήμη μεταγλωττιστή για να επιταχύνετε τις εκ νέου μεταγλωττίσεις του ίδιου κώδικα. Αν και μπορείτε να ανατρέξετε στις διαδικτυακές σελίδες man για gcc και g++ για περαιτέρω επιλογές και παραδείγματα, μη διστάσετε να μας στείλετε μια σημείωση χρησιμοποιώντας την παρακάτω φόρμα, εάν έχετε ερωτήσεις ή σχόλια.