Jump to content



C compiler για εκμάθηση microchip C


nobig

Recommended Posts

Καλησπέρα παιδιά

Θέλω να μάθω C ώστε να προγραμματίζω Pic μικροελεγκτές. Μου έδωσαν ένα κλασσικό βιβλίο για ANSI C και θέλω να αρχίσω να γράφω κώδικα, compile και τα σχετικά ώστε να μπω στο νόημα. Θέλω ένα περιβάλλον για να αρχίσω, (φαντάζομαι το mplab της Microchip δεν κάνει για την δουλειά)

Link to comment
Share on other sites

Για το πανεπιστήμιο που χρειάστηκε να μάθω χρειάστηκα έναν καλό editor, gvim στην περίπτωσή μου, και τον gcc για το compile. Εσύ τι φαντάζεσαι ακριβώς να χρειάζεται;

Link to comment
Share on other sites

Χρειάζομαι σε πρώτη φάση ένα περιβάλλον ώστε να μπορώ να κάνω compile τα προγράμματα που βρίσκω μέσα στο βιβλίο. Μόλις μάθω τα σχετικά θα χρησιμοποιήσω το mplab της microchip. Editor νομίζω το notepad++ είναι καλύτερο

Link to comment
Share on other sites

Ανάλογα τι βολεύει τον καθένα. Για να κάνεις compile θέλεις απλώς έναν compiler, τα περιβάλλοντα εργασίας προγραμματισμού στυλ ms visual c δε σου είναι απαραίτητα σε αυτό το επίπεδο.

Link to comment
Share on other sites

Να σε ρωτήσω όμως. Έστω ότι γράφω το πρόγραμμα στο notepad, θα το αποθηκεύσω με κατάληξη c μετά στον compilter απλά θα του δίνω το αρχείο και θα αναλαμβάνει τα υπόλοιπα; Κάτι βιβλιοθήκες που θα πρέπει να περιλαμβάνω # include <stdio.h>, κτλ

Link to comment
Share on other sites

Στην όση C έκανα στη σχολή μου, χρησιμοποιούσαμε το ελέυθερο πακέτο Dev C++ (κάνει και για C) http://www.bloodshed.net/

Τουλάχιστον όσα include χρησιμοποιήσαμε εμείς, τα είχε ενσωματωμένα. Δε κάναμε και τίποτα παλαβό... μέχρι δείκτες και δομές (στοίβες λίστες ουρές κλπ). και δε θυμάμαι σχεδόν τίποτα τώρα :p Αν δε κάτσεις να ενδιαφερθείς μονός σου δε γίνεται δουλειά.

Τη καλύτερη δουλειά κάνεις που το παλεύεις μόνoς σου.

Link to comment
Share on other sites

Ερώτηση κατέβασα και εγκατέστησα τον bloodshed αλλά αντιμετωπίζω δυσκολίες στην εκτέλεση απλών προγραμμάτων

πχ


# include <stdio.h>

main()

/* print temps
for fahr = 0, 20, ..., 300*/

{
int fahr, celsious;
int lower, upper, step;

lower=0;
upper=300;
step=20;
fahr=lower;
while (fahr<=upper){
celsious =5 * (fahr-32) / 9;
printf ("%d\t%d\n", fahr, celsious);
fahr=fahr+step;
}
}

και μου πετάει error


Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\code\Makefile.win"
Executing make...
make.exe -f "C:\Dev-Cpp\code\Makefile.win" all
gcc.exe 1.o 2.o -o "Project1.exe"

2.o(.text+0x0):2.c: multiple definition of `main'
1.o(.text+0x0):1.c: first defined here
collect2: ld returned 1 exit status

make.exe: *** [Project1.exe] Error 1

Execution terminated

To κάνει και στο hello world

#include <stdio.h>


main()
{
printf ("hello, world\n");
}

Χρησιμοποιώ κώδικα απο βιβλίο ANSI C των

Brian W. Kernighan

Dennis M. Ritchie

WTF i'm doing wrong?

Link to comment
Share on other sites

γεια σου αν καταλαβα καλα θελεις να γραφεις προγραμματακια για μικρο ελεκτες τοτε θα πρεπει να βρεις ενα προγραμμα για να σου δημιουργα και τα .hex files τα οποια θα στελνεις στου μικροελεκτες..εγω γενικα χρησιμοποιω το Ride6 σου δινει τη δυνατοτητα να γραψεις το κωδικα και σου κανει compile δημιουργοντας σου τα .hex files. Αλλο παρομοιο προγραμμα ειναι το Keil.

Link to comment
Share on other sites

WTF i'm doing wrong?

Ελα ντε :nada: έκανες καμία παράξενη επιλογή κατα την εγκατασταση? Το αφησες να δημιουργήσει τα αρχεία που θέλει? κατέβασες τη τελευταία εκδοση?

Το έστησα πρόχειρα σε win 7 64bit και μάλιστα στα ελληνικά με απλό next next next κατα το setup και δουλεύουν κανονικά τα προγράμματα που παραθέτεις.

(tip το getchar(); στο τελος για να μένουν ανοιχτά τα παράθυρα των προγραμμάτων οταν εκτελεστούν οι διεργασίες τους.)

Αφου το γράψεις πατας το compile&run ? (F9)

deνc.th.jpg

Uploaded with ImageShack.us

Link to comment
Share on other sites

Ναι αλλά το θέμα είναι πως τον αφήνει ο compiler να κάνει κάτι τέτοιο? Μπορείς να έχεις ταυτόχρονα όσα .c προγράμματα θέλεις. Όσο κάνεις ανεξάρτητα το κάθε ένα compile&run δεν υπάρχει πρόβλημα. Τώρα δε ξέρω πως είναι δυνατόν να γίνει το μπέρδεμα που περιγράφεται στο μήνυμα σφάλματος.

Κι εγώ naab είμαι στο προγραμματισμό αλλά τέτοιο πρόβλημα δε μου έτυχε ποτέ.:unsure:

Link to comment
Share on other sites

Το πρόβλημα με τους νέους compilers είναι οι αυτοματισμοί που έχουν... παλιά όλα γινόντουσαν με makefiles, αλλά τώρα τα χειρίζεται το ide... πρέπει είτε να κάνεις edit το makefile χειροκίνητα (αν το αφήνει το IDE, γιατί ορισμένα το φτιάχνουν σε κάθε build), είτε να ψάξεις μέσα από τα profiles, options και settings...

Link to comment
Share on other sites

Σωστός ο jaco. Δεν μου πέρασε καθόλου απο το μυαλό αυτό. Θεωρούσα το αυτονόητο ότι ανοίγω ένα project και απλά του πετάω μέσα όσα C αρχεία γουστάρω και τα κάνω compile ξεχωριστά

Crap επειδή με βολεύει να έχω ένα project και να φτιάχνω μέσα του τα δοκιμαστικά προγράμματα και να μην ανοίγω projects υπάρχει κάποια ρύθμιση ή κάποιο εργαλείο που θα φτιάχνω ξεχωριστά προγραμματάκια χωρίς να πρέπει να φτιάχνω projects ή να μου επιτρέπει στο project να έχω πολλά αρχεία c ανεξάρτητα

@Darksaga

Δεν το κάνω για το ΤΕΙ ή κάποιο πανεπιστήμιο, επαγγελματικά θα αρχίσω να το δουλεύω. Assembly δεν θέλω να γεράσω προσπαθώντας...Έκανα στο ΤΕΙ assembly Z80 & κάτι ψιλά απο x86 αλλά μέχρι εκεί

Link to comment
Share on other sites

Το να έχεις πολλαπλά project παράλληλα ανοιχτά σε καρτέλες όπως το υποστηρίζει το πρόγραμμα δε σου κάνει? Γιατι δε νομιζω να μπορείς να κάνεις τίποτε άλλο με το bloodshed τουλάχιστον. :(

Link to comment
Share on other sites

Crap επειδή με βολεύει να έχω ένα project και να φτιάχνω μέσα του τα δοκιμαστικά προγράμματα και να μην ανοίγω projects υπάρχει κάποια ρύθμιση ή κάποιο εργαλείο που θα φτιάχνω ξεχωριστά προγραμματάκια χωρίς να πρέπει να φτιάχνω projects ή να μου επιτρέπει στο project να έχω πολλά αρχεία c ανεξάρτητα

Μπορείς να κάνεις rename τα αρχεία...

πχ από "test.c" σε "test.c_" (ή ότι άλλο θες), οπότε λογικά ο compiler θα το αγνοήσει... έτσι μπορείς να έχεις πολλά αρχεία στον ίδιο φάκελο...

Link to comment
Share on other sites

Πως γίνετε τούτο;Αν κάνω νέο project με ρωτάει να κλείσει το προηγούμενο και να φτιάξει καινούργιο.Μπορώ να έχω πολλά project ανοιχτά ταυτόχρονα;

Στο screenshot που έδειξα παραπάνω, έχω ανοιχτά 3 αρχεία ταυτόχρονα (μπορεί τα αλλα δυο να ειναι ,cpp αλλά και με .c το ίδιο γίνεται), όλα βρίσκονται στον ίδιο φάκελο μαζί με όσα αρχεία είχα φτιάξει για τη σχολή μου.

Δεν έκανα τίποτε άλλο απο το απλά να ανοιξω τα .c αρχεία απο το open project (ctrl+O)

:flag:

[edit]

Ρε συ σίγουρα κατέβασες απο εδώ την έκδοση Dev-C++ 5.0 beta 9.2 (4.9.9.2) που περιλαμβάνει το "full Mingw compiler system with GCC 3.4.2 and GDB 5.2.1" (ο installer ειναι 8,89 mb η 9.326.468 byte ? ετσι για το τριπλ τσεκ )

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.