yorgosd Δημοσ. 16 Απριλίου 2006 Δημοσ. 16 Απριλίου 2006 paidia mporei kapoios na mou pei ena kalo compiler tis c gia windows...?? thelo molis to kano compile na vgazei arxeia .exe kserei kaneis kapoio kalo??
powerfty Δημοσ. 16 Απριλίου 2006 Δημοσ. 16 Απριλίου 2006 Dev-C++ kai Borland C++ apo tous kaluterous kai pio gnwstous
sentient6 Δημοσ. 17 Απριλίου 2006 Δημοσ. 17 Απριλίου 2006 επισης και τον κλασικο gcc αν θες να δουλευεις απο cmd και να γραφεις τον κωδικα σε notepad...´)
greekparot Δημοσ. 17 Απριλίου 2006 Δημοσ. 17 Απριλίου 2006 Nai kalytera dokimase to DEV C einai makran to kalytero.
Επισκέπτης Δημοσ. 17 Απριλίου 2006 Δημοσ. 17 Απριλίου 2006 dev-cpp,c-free 3.5 ->MinGW codeblocks -> o default compiler einai o gcc alla ypostirizei kai alloys 6-7 ta programmata ayta einai IDE kai oxi compilers..apla parexontai mazi me compiler..
yorgosd Δημοσ. 17 Απριλίου 2006 Μέλος Δημοσ. 17 Απριλίου 2006 ok...euxaristo paidia...katevasa to dev c++ kai einai arketa kalo....exei ena bug me to run vevaia....kai se sas auto simvainei??an den valo run to cursor tote to trexei kai to termatixei mono tou...den prolavaino na do apotelesmata...
Tetix Δημοσ. 17 Απριλίου 2006 Δημοσ. 17 Απριλίου 2006 δεν είναι bug, ψάξε λίγο τα θέματα που έχω αρχίσει εγώ και θα βρεις την λύση
Sta Δημοσ. 17 Απριλίου 2006 Δημοσ. 17 Απριλίου 2006 ok...euxaristo paidia...katevasa to dev c++ kai einai arketa kalo....exei ena bug me to run vevaia....kai se sas auto simvainei??an den valo run to cursor tote to trexei kai to termatixei mono tou...den prolavaino na do apotelesmata... Μία μικρή συμβουλή: 1) Κάνε compile τα προγράμματά σου με τις επιλογές: -W -Wall -pedantic -ansi test.c 2) Αν θέλεις το πρόγραμμά σου να "περιμένει" να πατήσεις <Enter> πριν κλείσει, γράψε getchar(); πριν το return 0.
Legionnaire Δημοσ. 18 Απριλίου 2006 Δημοσ. 18 Απριλίου 2006 2) Αν θέλεις το πρόγραμμά σου να "περιμένει" να πατήσεις <Enter> πριν κλείσει' date=' γράψε getchar(); πριν το return 0.[/quote'] Ασχολούμαι με προγραμματισμό σε C σε περιβάλλον Unix και μια φορά που δοκίμασα σε Windows με το Dev-C++, με ενόχλησε ιδιαίτερα αυτό το πράγμα. Δηλαδή δεν υπάρχει μια σταθερή κονσόλα όπου επιστρέφει μόλις κλείσει το πρόγραμμα; (όπως π.χ. έχει το Eclipse που είναι κυρίως Java IDE) Η λύση του getchar() ή του system("pause") είναι αρκετά απλή όμως δεν είναι καθόλου χρηστικό και προσωπικά με ενοχλεί σαν ιδέα να πρέπει κάθε μα κάθε φορά να προσθέτω αυτό το "περίμενε". Και σε περιπτώσεις που το πρόγραμμα επιστρέφει από περισσότερα σημεία (και όχι μόνο από την main()) τι θα πρέπει να κάνουμε; Ελπίζω να υπάρχει κάποιο σχετικό option στο Dev-C++ και να έγραψα άδικα τα παραπάνω
Sta Δημοσ. 21 Απριλίου 2006 Δημοσ. 21 Απριλίου 2006 Ασχολούμαι με προγραμματισμό σε C σε περιβάλλον Unix και μια φορά που δοκίμασα σε Windows με το Dev-C++' date=' με ενόχλησε ιδιαίτερα αυτό το πράγμα. Δηλαδή δεν υπάρχει μια σταθερή κονσόλα όπου επιστρέφει μόλις κλείσει το πρόγραμμα; (όπως π.χ. έχει το Eclipse που είναι κυρίως Java IDE) Η λύση του getchar() ή του system("pause") είναι αρκετά απλή όμως δεν είναι καθόλου χρηστικό και προσωπικά με ενοχλεί σαν ιδέα να πρέπει κάθε μα κάθε φορά να προσθέτω αυτό το "περίμενε". Και σε περιπτώσεις που το πρόγραμμα επιστρέφει από περισσότερα σημεία (και όχι μόνο από την main()) τι θα πρέπει να κάνουμε; Ελπίζω να υπάρχει κάποιο σχετικό option στο Dev-C++ και να έγραψα άδικα τα παραπάνω [/quote'] Δυστυχώς δε νομίζω ότι υπάρχει κάποια επιλογή μέσα από αυτό το IDE. Έχεις βέβαια τη λύση να ανοίξεις κανονικά μία κονσόλα dos και να τρέχεις τα προγράμματά σου από εκει. Επίσης, ίσως μπορείς να ορίσεις μία macro ως εξής: > #define return(i) getchar();return i και εκεί που θέλεις το πρόγραμμα να περιμένει να δίνεις π.χ.: return(0) ενώ εκεί που θέλεις να επιστέφει να δίνεις return 0; Κάτι ανάλογο ίδιο μπορείς να κάνεις και για την exit(), π.χ.: > #define exit(i) getchar(); exit(i) Για να επιστρέψει το πρόγραμμά σου απευθείας χωρίς να επεκταθεί η προηγούμενη macro μπορείς να χρησιμοποιήσεις π.χ. το εξής: (exit)(0). Σε περίπτωση που μεταφέρεις τον κώδικά σου μεταξύ διαφορετικών compilers μπορείς να κάνεις το παρακάτω π.χ. για την πρώτη περίπτωση: > #ifdef DEVCPP #define return(i) getchar();return i #endif και να συμπεριλάβεις τον παραπάνω κώδικα σε κάποιo custom header file που είναι included από όλα τα αρχεία σου. Επίσης, στα Tools->Compiler options στο Dev-C++ ορίζεις την επιλογή: -DDEVCPP ώστε να είναι ορισμένο το DEVCPP. Στους υπόλοιπους compilers που μεταφέρεις το πρόγραμμά σου δεν είναι ορισμένο το DEVCPP και έτσι δεν ορίζεται και η macro.
alkisg Δημοσ. 21 Απριλίου 2006 Δημοσ. 21 Απριλίου 2006 Αντί για το #define που προτείνει ο Sta, μπορείς να χρησιμοποιήσεις και την atexit(getchar()) ώστε να καλείται η getchar απ' οπουδήποτε κι αν κληθούν οι return/exit κτλ. Επίσης νομίζω ότι μπορείς να ρυθμίσεις τα Windows (όχι το devcpp) ώστε να μην κλείνουν τα προγράμματα κονσόλας, αλλά δεν έχω πρόχειρο link για το σχετικό πείραγμα του registry.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.