Προς το περιεχόμενο

C σε LInux Kubuntu (Νέοπας)


doupiaki_ole

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σας.

 

Είμαι καινούριος στο χώρο του προγραμματισμου και των Linux (έβαλα Kubuntu πρόσφατα). Αποφάσισα να ασχοληθω με τη γλώσσα C διότι μου φαινόταν η πιό απλή. Διάβασα λίγο απο το βιβλίο "The C programming language" και από το διαδίκτυο και πιστεύω πως έχω μπει στο νόημα. Το πρόβλημά μου είναι ότι γράφω το απλό πρόγραμμα Hello, world σε ένα text editor και συγκεκριμένα στον Kate και το αποθηκεύω. Ανοίγω την κονσόλα και πηγαίνω στο φάκελο που είναι το αρχείο hello.c (cd /home κλπ) και γράφω στην κονσόλα: gcc hello.c και μου βγάζει κάτι σφάλματα (δεν θυμάμαι συγκεκριμένα διότι δεν έχω internet στο σπίτι και γράφω από net cafe). Πρέπει να εγκαταστήσω μήπως κάποιον compiler ή κάποιο πρόγραμμα? Κάτι είχα διαβάσει για build-essential, βιβλιοθήκες αλλά δεν γνωρίζω ούτε από compilers ούτε από βιβλιοθήκες, απλά έβαλα τα Linux και προσπάθησα. Ξέχασα να αναφέρω ότι στο usr/inlude δεν είδα κάτι συγκεκριμένο για τη C. Μόνο python, kde και κάποιοι άλλοι φάκελοι υπάρχουν. Μήπως λοίπει κάτι? Έχω πολύ όρεξη να μάθω προγραμματισμό και ότι επακόλουθα χρειάζονται για να πραγματοποιηθεί αυτό.

 

Σας ευχαριστώ πολύ εκ των προτέρων.

Δημοσ.
1)gcc -v για να τσεκαρεις αν ειναι εγκατεστημενος ο compiler
2)Aν οχι sudo apt-get install build-essential
3)Απο το terminal δωσε sudo kate onoma_arxeiou.c
4)γραφεις τον κωδικα,save,κλεινεις τον Kate
5)Πας στο terminal και δινεις gcc onoma_arxeiou.c
6)./a.out

 

Τωρα μπορει να τα εχεις ολα εγκατεστημενα μια χαρα και απλα να εχεις λαθη στον κωδικα και γι αυτο σου πεταει αυτα ο compiler,δεν μπορουμε να ξερουμε

Δημοσ.
gcc "onoma".c -o "onoma"

Και μετά απλά δίνουμε ./"onoma"

 

και αυτο γινεται,απλα επελεξα τον πιο απλο τροπο

  • 2 εβδομάδες αργότερα...
Δημοσ.

Καλησπέρα σας

 

Όπως μου είπατε έγραψα στο τερματικό gcc -v για να διαπιστώσω αν ο gcc compiler είναι εγκατεστημένος αλλά μου εμφανίζει αυτό το μήνυμα:

 

Using built-in specs.

Target: i486-linux-gnu

Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu

Thread model: posix

gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7).

 

Κάνοντας compile το hallo.c μου βγάζει το εξής μήνυμα:

 

------------------:~/Επιφάνεια εργασίας$ gcc hallo.c

hallo.c:1:19: error: stdio.h: No such file or directory

hallo.c: In function ‘main’:

hallo.c:5: warning: incompatible implicit declaration of built-in function ‘printf’

 

Οπότε βλέποντας ότι εμφανίζει για το <stdio.h> πηγαίνω στο /usr/lib/gcc/i486-linux-gnu/4.2.3/include και διαπιστώνω ότι δεν υπάρχει αρχείο με την ονομασία stdio.h. Έχει decfloat.h, stdbool.h, iso646.h και περίπου δέκα ακόμη αλλά κανένα stdio.h

 

Δοκίμασα στο hallo.c αντί για #include<stdio.h> να βάλω stdbool.h (διότι είδα ότι υπάρχει στην lib, δεν γνωρίζω όμως αν αυτό που κάνω είναι ηλιθιότητα) μήπως και αλλάξει κάτι, αλλά το αποτέλεσμα ήταν απλά να μην εμφανίσει ένα error (το πρώτο).

Μήπως πρέπει να κατεβάσω το build-essential; Δεν γνωρίζω ποιά έκδοση όμως, γιατί όπως σας είπα σε προηγούμενο μήνυμά μου δεν έχω internet αυτό τον καιρό και τρέχω στα net kafe.

 

Παρεπιπτόντως και κάτι άσχετο. Πως κάμω εκτέλεση ένα αρχείο από το τερματικό; πχ να ανοίξω το έγγραφο hallo.c.

 

ΥΓ Γνωρίζω ότι κάνω πολλές ερωτήσεις και σπάω νεύρα, αλλά είμαι άσχετος και αν δεν ρωτήσω δεν θα μάθω.

Δημοσ.
Καλησπέρα σας

 

Όπως μου είπατε έγραψα στο τερματικό gcc -v για να διαπιστώσω αν ο gcc compiler είναι εγκατεστημένος αλλά μου εμφανίζει αυτό το μήνυμα:

 

Using built-in specs.

Target: i486-linux-gnu

Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu

Thread model: posix

gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7).

 

Κάνοντας compile το hallo.c μου βγάζει το εξής μήνυμα:

 

------------------:~/Επιφάνεια εργασίας$ gcc hallo.c

hallo.c:1:19: error: stdio.h: No such file or directory

hallo.c: In function ‘main’:

hallo.c:5: warning: incompatible implicit declaration of built-in function ‘printf’

 

Οπότε βλέποντας ότι εμφανίζει για το <stdio.h> πηγαίνω στο /usr/lib/gcc/i486-linux-gnu/4.2.3/include και διαπιστώνω ότι δεν υπάρχει αρχείο με την ονομασία stdio.h. Έχει decfloat.h, stdbool.h, iso646.h και περίπου δέκα ακόμη αλλά κανένα stdio.h

 

Δοκίμασα στο hallo.c αντί για #include<stdio.h> να βάλω stdbool.h (διότι είδα ότι υπάρχει στην lib, δεν γνωρίζω όμως αν αυτό που κάνω είναι ηλιθιότητα) μήπως και αλλάξει κάτι, αλλά το αποτέλεσμα ήταν απλά να μην εμφανίσει ένα error (το πρώτο).

Μήπως πρέπει να κατεβάσω το build-essential; Δεν γνωρίζω ποιά έκδοση όμως, γιατί όπως σας είπα σε προηγούμενο μήνυμά μου δεν έχω internet αυτό τον καιρό και τρέχω στα net kafe.

 

Παρεπιπτόντως και κάτι άσχετο. Πως κάμω εκτέλεση ένα αρχείο από το τερματικό; πχ να ανοίξω το έγγραφο hallo.c.

 

ΥΓ Γνωρίζω ότι κάνω πολλές ερωτήσεις και σπάω νεύρα, αλλά είμαι άσχετος και αν δεν ρωτήσω δεν θα μάθω.

σιγουρεψου οτι εχεις γραψει #include <stdio.h> δλδ με το κενο αναμεσα επειδη στο ποστ σου τα εχεις κολλητά. στη συνεχεια το πακετο που θες για την stdio ειναι το build-essential. αν το εχεις ηδη δοκιμασε να το ξαναπερασεις.

για να ανοιξεις αρχειο απο γραμμη εντολων δοκιμασε την εντολη vim program.c

για το πως να τροποποιησεις το αρχειο μεσω vim ψαξε για καποιο vim tutorial

Δημοσ.

Πως κάμω εκτέλεση ένα αρχείο από το τερματικό; πχ να ανοίξω το έγγραφο hallo.c.

 

Αμα γινει σωστα το compile που θελεις και δεν δοσεις δικο σου ονομα στην εξοδο, το εκτελεσιμο που θα παραξει ο gcc, απο το hello.c θα ειναι το a.out και για να το τρεξεις γραφεις ./a.out

 

:-)

Δημοσ.
σιγουρεψου οτι εχεις γραψει #include <stdio.h> δλδ με το κενο αναμεσα επειδη στο ποστ σου τα εχεις κολλητά.

 

Τo έχω γράψει με κενό, απλά εδώ ήταν από βιασύνη.

Σχετικά με το build-essential, έχω κατεβάσει κάποιες εκδόσεις αλλά όταν κάνω προσπάθεια για εγκατάσταση μου βγάζει ότι δεν είναι συμβατή έκδοση. Ποιά έκδοση να κατεβάσω για να μην έχω πρόβλημα? (επάναλαμβάνω ότι δεν διαθέτω σύνδεση internet για να εγκαταστήσω απευθείας)

Όταν λέω πως να κάνω εκτέλεση ένα αρχείο, δεν εννοώ πως να το κάνω compile. πχ ένα mp3 να το τρέξω από το τερματικό και όχι με double-click.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...