jonsof Δημοσ. 28 Φεβρουαρίου 2002 Δημοσ. 28 Φεβρουαρίου 2002 Exo t Dev-C++ os compiler C, C++. Otan douleuo me deiktes panta kolaei, (etkelese kapoia esfalmenh leitoyrgia klp klp). Exei katanthsei eknevristiko. Kserei kaneis ti mporei na fteei? Mipos exo ligh mnhmh h thn katanalonei amesos o compiler? Doste ta fota sas!
Directx Δημοσ. 3 Μαρτίου 2002 Δημοσ. 3 Μαρτίου 2002 Αν και δεν τον ξέρω εντούτοις ίσως υπάρχει κάποιο bug στον ίδιο τον compiler που οδηγεί σε crash, checkαρε για updates ή δες (αν υπάρχουν) FAQs του ώστε να δεις μήπως χρησιμοποιείς κάποια «εξωτική» σύνταξη που δεν μπορεί να την διαχειριστή σωστά! (θυμάμαι κάτι ανάλογο στον MS-C 6.00 πριν αρκετά χρόνια, πρόσφατα δε αντιμετώπισα ένα παρόμοιο παράδοξο άρνηση compilation με unknown error - στον C/C++ Builder 5.0 εξαιτίας παράδοξης σύνταξης!) ʼρα όλα είναι πιθανά.. <small>[ 02-03-2002, 23:40: Το μήνυμα επεξεργάστηκε από: Directx ]</small>
jonsof Δημοσ. 3 Μαρτίου 2002 Μέλος Δημοσ. 3 Μαρτίου 2002 Kai ego eimai ths gnomhs oti 8a exei bug o Compiler, mipos ton dokimases? Pou les ton dokimasa kai se allous upologistes me diaforetikes mnhmes klp kai olo to idio provlima emfanizei, ase pou otan vazeis #include<conio.h> den dexetai thn clrscr(), oute to getch();(alla mono getche()), provlima eksikoioshs. <img border="0" title="" alt="[Frown]" src="images/icons/frown.gif" />
Directx Δημοσ. 3 Μαρτίου 2002 Δημοσ. 3 Μαρτίου 2002 Δεν τον κατέβασα (από το http://www.bloodshed.net/devcpp.html) μιας και είναι 7,08MB αλλά ίσως τον κατεβάσω κάποια στιγμή αργότερα (πάντως κατάλαβα ότι είναι ένα free project ακόμα on development.. άρα..), άλλωστε για DOS compilation χρησιμοποιώ ή την Turbo C/C++ for DOS 3.0 ή την MS-C 6.0, για Windows προτιμώ τον Borland C/C++ Builder. Βλέπεις για τέτοιου είδους θέματα προτιμώ compilers από εταιρίες και όχι free projects (αν και ο GCC όταν τον δοκίμασα πριν λίγο καιρό μου φάνηκε εξαιρετικώς). Όσον αφορά τις διαφορές εντολών, είναι φυσικό να υπάρχουν διαφορές από compiler σε compiler όταν οι ρουτίνες δεν ανήκουν στο ANSI C/C++ specification (όπως πχ. η clrscr() ), τώρα όσον αφορά την getch ! λογικά έπρεπε να υπάρχει (δεν μπορώ να πιστέψω ότι δεν υπάρχει ..-!-) δες μήπως είναι δηλωμένη σε κάποιο άλλο αρχείο .h (αν δεν υπάρχει.. τότε μην έχεις τύψεις.. άλλαξε compiler ελαφριά την καρδία <img border="0" title="" alt="[Wink]" src="images/icons/wink.gif" /> )
jonsof Δημοσ. 3 Μαρτίου 2002 Μέλος Δημοσ. 3 Μαρτίου 2002 Koitaksa ta arxeia conio.h tou dvcpp kai tou Rhide kai eida diafores os pros to mege8os ekana copy tou Rhide sto Devcpp kai to provlima paremine( mallon exei provlima apo th mana tou o Devcpp). H Turbo C/C++ mono gia C++ den einai, telos panton. Na se rotiso, H Borland C++ gia Win einai visual kai ftiaxnei kai gia Console Application>?
Directx Δημοσ. 4 Μαρτίου 2002 Δημοσ. 4 Μαρτίου 2002 Όχι η Turbo C/C++ 3.0 υποστηρίζει εξίσου καλά και την απλή C ,άλλωστε η C++ δεν είναι τίποτε περισσότερο από μια επέκταση της πρώτης σε θέματα οργάνωσης κώδικα, συνεπώς άνευ της πρώτης απλά δεν υπάρχει. Τώρα όσον αφορά το θέμα της Borland C/C++ τα πράγματα έχουν ως εξής: 1ον) Υπάρχει ο Borland C/C++ Compiler που δίδεται από όσο θυμάμαι free (μιας και δεν έρχεται με κάποιο IDE) από το site της Borland (ή καλύτερα Inprise μιας και η πρώτη πουλήθηκε στην τελευταία πριν μερικά χρόνια διατηρώντας πάντως την ονομασία της), μαζί του μπορείς να φτιάξεις Win32s console applications, το γεγονός όμως ότι δίδει μόνο console εργαλεία ίσως καθιστά δύσκολη την ανάπτυξη GUI εφαρμογών (δεν νομίζω πάντως να είναι αδύνατο φυσικά δεν είναι VISUAL & RAD εργαλείο άρα ο κώδικας GUI θα γραφτεί και θα διασυνδεθεί με το «χέρι» --δεν είναι τόσο τρομερό αν γνωρίζεις καλή C και έχεις γνώσεις της Message Driven & Win32s αρχιτεκτονικής , σίγουρα όμως είναι βαρετό & κουραστικό!). 2ον) Υπάρχει η εμπορική έκδοση του Borland C/C++ Compiler η οποία κάνει τα προηγούμενα με τη διαφορά ότι έρχεται με ένα λειτουργικότατο IDE και κάποια έξτρα utilities (πχ. Resource Workshop, BDE κοκ.) και την περίπλοκη OWL βιβλιοθήκη (αν είσαι ιδιαίτερα εξοικειωμένος με την C++) που καθιστούν την ανάπτυξη GUI εφαρμογών κάπως πιο ανθρώπινη ( <img border="0" title="" alt="[Wink]" src="images/icons/wink.gif" /> υπόθεση. 3ον) Υπάρχει τέλος ο Borland C/C++ Builder ο οποίος κάνει όλα τα παραπάνω συν ότι επιτρέπει VISUAL (RAD) development (μέσο της βιβλιοθήκης VCL και της λογικής των Components) πράγμα που σημαίνει ότι μαζί του μπορείς να αναπτύξεις εύκολα και γρήγορα (αν φυσικά το θέλεις, αλλιώς υποστηρίζει και τον κλασσικό C/C++ Win32s API προγραμματισμό) κάθε είδους εφαρμογή για Windows. Έχοντας χρησιμοποιήσει και τους τρεις τρόπους προγραμματισμού των Windows (console apps, win32s apps, VCL apps , --εκτός του OWL δεν είμαι fun της C++) σαφώς για μεγάλα projects προτιμώ τον τελευταίο (Builder). * Φυσικά μπορείς να δεις και τα VISUAL εργαλεία της Microsoft (Visual C/C++ κοκ.) αλλά δεν θα τα χαρακτήριζα και τόσο φιλικά για τον χρήστη. <small>[ 03-03-2002, 19:41: Το μήνυμα επεξεργάστηκε από: Directx ]</small>
jonsof Δημοσ. 4 Μαρτίου 2002 Μέλος Δημοσ. 4 Μαρτίου 2002 Diladi pos legetai o compiler upari8mon 3? Autos me endiaferei ( pou ta kanei ola ) Einai diaforetikh ekdosh apo tous prohgoumenous 2?
Directx Δημοσ. 4 Μαρτίου 2002 Δημοσ. 4 Μαρτίου 2002 Λέγεται Borland C/C++ Builder και όπως σου εξήγησα πιο πάνω κάνει ότι και οι προηγούμενοι (άλλωστε είναι μια μετεξέλιξη τους) μόνο που παρέχει και δυνατότητες οπτικού προγραμματισμού (σκέψου ένα περιβάλλον σαν της Visual Basic ή καλύτερα της Delphi ουσιαστικά «είναι μια Delphi για την γλώσσα C/C++» --το λέω έτσι απλά για να καταλάβεις περίπου την φιλοσοφία του), για περισσότερα μπορείς να δεις το http://www.inprise.com/bcppbuilder/ . <small>[ 04-03-2002, 08:13: Το μήνυμα επεξεργάστηκε από: Directx ]</small>
jonsof Δημοσ. 5 Μαρτίου 2002 Μέλος Δημοσ. 5 Μαρτίου 2002 Vrika ton Borland C++ 5.02 mou fenetai oti einai mono gia console application etsi den einai?
Directx Δημοσ. 5 Μαρτίου 2002 Δημοσ. 5 Μαρτίου 2002 Νομίζω ότι είναι για όλα (κρίνοντας από την «εμπορική» 5.0 που διαθέτω).
jonsof Δημοσ. 8 Μαρτίου 2002 Μέλος Δημοσ. 8 Μαρτίου 2002 Kai pali den mporei na doulepei toys diktes kala. To egkatestisa kala, ti na fteei arage?
apoc Δημοσ. 9 Μαρτίου 2002 Δημοσ. 9 Μαρτίου 2002 O borland C++ den einai mono gia console mporeis na kaneis kai windows based pragmata...apla den voithaei to pragma toso poli! Vlepe WIN API (bliax xexexe) pote den katafera na to katalavw plhrws! Anyway an sou vrisketai eukairo koitakse thn Visual C++ ths Microsoft nomizw oti afto psaxneis vevaia diaferei ligo oso anafora thn ANSI C++ alla to sinithizeis!
Directx Δημοσ. 9 Μαρτίου 2002 Δημοσ. 9 Μαρτίου 2002 Χμ.. μήπως υπάρχει κάποιο bug στο source σου ; (το πιο δύσκολο άλλωστε τμήμα της C/C++ είναι οι pointers..) Όσον αφορά την Visual C++ ,γιατί όχι; Αν μπορείς να την βρεις δεν χάνεις τίποτε να την δοκιμάσεις.. καμία φορά το γεγονός ότι δεν ακολουθεί απόλυτα (πιστά) το πρότυπο ANSI (Μ$ είναι αυτή ;-) είναι πλεονέκτημα (χωρίς πλάκα καμία φορά η απαιτήσεις του ANSI αν και πετυχαίνουν «καθαρότερο» κώδικα εντούτοις ταλαιπωρούν τον προγραμματιστή πχ. Explicated casting). Πάντως από την στιγμή που θες να προγραμματίσεις GUIs (για consoles δεν υπάρχει πρόβλημα.. κλασσικές ρουτίνες I/O κοκ..) να ξέρεις ότι το Win32s API είναι απαραίτητο (λιγότερο σε C/C++ Builder (ή Delphi) , περισσότερο σε Microsoft Visual C++ έστω και με την «περίφημη & περίπλοκη» MFC ,σχεδόν καθόλου από όσο έχω ακούσει σε (Visual) Basic). Ελπίζω να βρεις την άκρη, Good Luck
jonsof Δημοσ. 9 Μαρτίου 2002 Μέλος Δημοσ. 9 Μαρτίου 2002 </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Originally posted by Directx: <strong>Χμ.. μήπως υπάρχει κάποιο bug στο source σου ; (το πιο δύσκολο άλλωστε τμήμα της C/C++ είναι οι pointers..) </strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">To idio source to ekana compile ston borland c++ 5.02, kai sto DJGPP me IDE Rhide, kai sto deutero doulepse polu apsoga, sto proto leei px oti den xrhsimopoio ton dikth metavlhth prin kala kala ton oriso, px an po ..... int *a; ..... for(i=0;i<3;i++) {a=i;} Sto Borland den leitourgei eno sto Djgpp leitourgei. Paralogo!
Directx Δημοσ. 9 Μαρτίου 2002 Δημοσ. 9 Μαρτίου 2002 Λοιπόν νομίζω ότι τον «πιάσαμε» τον ένοχο.. δηλαδή: Το παραπάνω παράδειγμα όντως δεν δουλεύει ούτε στον C++ Builder 4 μιας και όταν δοκιμάσεις να το εκτελέσεις θα crasαρι τα Windows με page fault (ή null pointer assignment σε DOS που μας πονηρεύει περισσότερο) πράγμα που είναι φυσικό αφού αν και ορίζεις ένα integer pointer εντούτοις δεν φροντίζεις να δεσμεύσεις μνήμη για αυτόν αλλά αντίθετα τον αφήνεις να δείχνει (pointing) οπουδήποτε στην μνήμη του συστήματος (τουλάχιστο από ότι βλέπω στο code-snip που παραθέτεις)! Αν λοιπόν δοκιμάσεις την παρακάτω μετατροπή θα πρέπει (ελπίζω) ο κώδικα σου να δουλέψει σωστά (αφού τώρα ο *a κάνει pointing- στην μνήμη που δεσμεύσαμε με την malloc) #include <stdio.h> #include <alloc.h> // αν δεν υπάρχει η malloc δηλωμένη εδώ βάλε τη stdlib.h int *a,i; void main() { // Allocate pointer memory. if((a=(int)malloc(4))==NULL) { printf(" Malloc failure !\n"); return; } [.. κώδικας σου ] // -=για κάποιον λόγο δεν μπορώ να τον συμπεριλάβω στο post μου (αρνείται το insomnia forum με Sorry, we do not permit this HTML tag: Parenthesis in HTML tag) // Free pointer memory. free(a); } Ο DJGPP (έκδοση DOS) από όσο θυμάμαι και σε μια δικιά μου περίπτωση δεν αντιδρά άσχημα σε πολλά λάθει τέτοιου είδους μιας και ο memory manager του (DOS memory extender) έχει τεράστια πλαίσια αντοχής, που δεν έχουν όμως οι υπόλοιποι DOS ή Windows compiler (κάποτε από ένα σφάλμα μου στη διαχείριση μνήμης έφτανε ο DJGPP να κάνει allocation μέχρι και 40MB στο swap file του.. εκεί που τα υπόλοιπα εκτελέσιμα άλλων compilers παραδίδανε το πνεύμα τους μετά από λίγο.. ; - ) ** Το παραπάνω παράδειγμα δουλεύει τόσο σε C++ Builder 4 όσο και σε DOS MS-C 6.00 λογικά πρέπει να δουλεύει σε όλους τους compiler .. (ελπίζω) ** <small>[ 09-03-2002, 15:33: Το μήνυμα επεξεργάστηκε από: Directx ]</small>
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.