Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Δημοσ. 29 Οκτωβρίου 2014 εκανα ενα απλο προγραμμα (ειμαι αρχαριος) σε γλωσσα C το εκανα build σε εναν φακελο στην επιφανεια εργασιας. Ολοι λενε οτι μεσα θα βρω εκει ενα φακελο με το όνομα bin και μετα θα μπω μεσα και θα γράφει είτε debug ειτε release οπου μεσα θα βρω το προγραμμα μου(.exe). Το προβλημα ? Σε μένα δεν υπάρχη φάκελος bin. Μόνο debug (εκτος απο ενα καρο αλλα πραγματα σε διαφορες μορφες που δεν ανηγουν)και μεσα εχει μονο ενα φακελο με την κατάληξη .exe οπου οταν τον ανηγω ανηγει για λιγα χιλιοστα του δευτερολεπτου ενα μαυρο παραθυρο σαν terminal command και επειτα κλεινη αμεσως. Δεν υπαρχη αλλο .exe. Δεν υπαρχη bin. Καμια ιδεα τι να κανω ? Εκανα debugging και ειναι ολα ενταξει. Κανενα λαθος στο προγραμμα. Τι συμβαινει ?? Υ.Γ έχω Visual Studio 2013. Οι πληροφορίες του υπολογιστή μου είναι γραμμένες απο κατω στην υπογραφη μου. Ευχαριστω πολύ !!!
Moderators Kercyn Δημοσ. 29 Οκτωβρίου 2014 Moderators Δημοσ. 29 Οκτωβρίου 2014 Βάλε ένα system("pause"); πριν από το return στον κώδικά σου ή τρέξε το απ' την κονσόλα. 1
Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Μέλος Δημοσ. 29 Οκτωβρίου 2014 Βάλε ένα system("pause");πριν από το return στον κώδικά σου ή τρέξε το απ' την κονσόλα. το έτρεξα απο την κονσολα αλλα εγηνε το ειδιο. Βγηκε η μαυρη οθονη και εξαφανιστηκε μετα παλι. για το system("pause"); δεν ξερω που εννοεις να το βαλω. ο κωδικας ειναι αυτος: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int num; /* ορισμος μεταβλητής με το όνομα num */ num = 1; /* καταχώριση τιμής στην num */ printf(" είμαι ενας απλός "); /* χρήση της συνάρτισης printf ( ) */ printf(" υπολογιστής \n"); printf(" Ο αγαπημένος μου αριθμός είναι ο %d γιατί είναι πρώτος. \n", num); } Ευχαριστω πολυ για την βοηθεια !!!
Moderators Kercyn Δημοσ. 29 Οκτωβρίου 2014 Moderators Δημοσ. 29 Οκτωβρίου 2014 Πώς έγινε το ίδιο; Άνοιξε το command prompt στα Windows, πήγαινε στο φάκελο που είναι το εκτελέσιμό σου και τρέξε το από εκεί. Αν το κάνεις έτσι σου κλείνει η κονσόλα; Στον κώδικά σου δεν έχεις βάλει return. Βάλε ένα return 0 κάτω από το τελευταίο printf. 1
Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Μέλος Δημοσ. 29 Οκτωβρίου 2014 Mε το τερματικό μου βγήκε αυτό εδώ: http://prntscr.com/50x0irκαι εκει δεν εχω ιδεα τι να κανω. μου βγηκε δλδ ενα δευτερο τερματικο. Προσπαθησα να δοκιμασο start κ.τ.λ αλλα τπτ δεν πέτυχε. Όσο για τον κώδικα πρόσθεσα το return 0; και το εβγαλε σωστο με το debugging αλλα οταν εβαλα το system(" pause ") μου εβγαλε οτι δεν αναγνωριζει την λεξη system. Παραθέτο και printscreen: http://prntscr.com/50x1nf Πώς έγινε το ίδιο; Άνοιξε το command prompt στα Windows, πήγαινε στο φάκελο που είναι το εκτελέσιμό σου και τρέξε το από εκεί. Αν το κάνεις έτσι σου κλείνει η κονσόλα; Στον κώδικά σου δεν έχεις βάλει return. Βάλε ένα return 0 κάτω από το τελευταίο printf. Mε το τερματικό μου βγήκε αυτό εδώ: http://prntscr.com/50x0irκαι εκει δεν εχω ιδεα τι να κανω. μου βγηκε δλδ ενα δευτερο τερματικο. Προσπαθησα να δοκιμασο start κ.τ.λ αλλα τπτ δεν πέτυχε. Όσο για τον κώδικα πρόσθεσα το return 0; και το εβγαλε σωστο με το debugging αλλα οταν εβαλα το system(" pause ") μου εβγαλε οτι δεν αναγνωριζει την λεξη system. Παραθέτο και printscreen: http://prntscr.com/50x1nf
Moderators Kercyn Δημοσ. 29 Οκτωβρίου 2014 Moderators Δημοσ. 29 Οκτωβρίου 2014 Κάνε include την stdlib.h για να σου αναγνωρίσει το system. Δεν έχω ιδέα γιατί σου ανοίγει καινούριο cmd, αλλά υποψιάζομαι ότι έχει να κάνει με το VS και τις ρυθμίσεις του προγράμματός σου. Θα σου πρότεινα να αφήσεις το VS και να χρησιμοποιήσεις το Pelles C. Ο λόγος που στο λέω αυτό είναι γιατί το VS βάζει δικά του πράγματα μέσα (όπως πχ αυτό το _tmain που έχεις) τα οποία μπορεί να μη γίνουν compile σε άλλους compilers. Με το Pelles C μπορείς να γράφεις αυτά που βλέπεις σε διάφορα tutorials και να ξέρεις ότι θα γίνουν compile παντού (εκτός αν το tutorial σου λέει ότι αυτό που χρησιμοποιώ εδώ λειτουργεί μόνο σε αυτό το λειτουργικό ή έχει αυτούς τους περιορισμούς κλπ). 1
Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Μέλος Δημοσ. 29 Οκτωβρίου 2014 Μάλιστα. Ουσιαστηκά το Pelles C είναι κατι σαν το visual Studio απλα πιο απλο και πιο παλιο + το οτι ειναι πιο σιγουρο οτι θα σου κανει ολη τη μεταφραση(compile). Οκ θα το δοκιμάσο το απόγευμα. Ελπίζω να πτύχη. Ευχαριστώ πολυ ! Για οτι γινει θα σας ενημερώσο.
nucleus Δημοσ. 29 Οκτωβρίου 2014 Δημοσ. 29 Οκτωβρίου 2014 Όταν σου ανοίξει την γραμμή εντολών γράψε: "cd Desktop\first programme\ConsoleApplication1\Debug" για να μπεις στο directory. Μετά γράψε ConsoleApplication1.exe για να τρέξεις το exe.Λογικά έτσι δεν θα σου κλείσει το παράθυρο και θα μπορέσεις να δεις την έξοδο του προγράμματος σου. Note: Στην γραμμή εντολών υπάρχει auto complete με το πλήκτρο tab. 1
Moderators Kercyn Δημοσ. 29 Οκτωβρίου 2014 Moderators Δημοσ. 29 Οκτωβρίου 2014 Πιο απλό ναι, αλλά δεν είναι πιο παλιό. Και το Visual Studio θα σου το κάνει compile, απλώς το VS έχει διάφορες επιλογές που μπορεί να σε μπερδέψουν αν ξεκινάς τώρα. Το Pelles C είναι πολύ πιο απλό στη χρήση, γράφεις τον κώδικά σου και τον τρέχεις. 1
Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Μέλος Δημοσ. 29 Οκτωβρίου 2014 προφανως αυτο ειναι το περιεχομενο του φακελου συμφωνα με το τερματικο nucleus: http://prntscr.com/50yppnδεν ξερω... Kercyn τωρα θα δοκιμασω το Pelles C. Kercyn αυτο μου βγηκε στο Pelles C. Ειναι καποιο bug μαλλον στην αρχη. οριστε μια φωτο: http://prntscr.com/50yzy6
nucleus Δημοσ. 29 Οκτωβρίου 2014 Δημοσ. 29 Οκτωβρίου 2014 To stdafx.h είναι header του visual studio.Δεν χρειάζεται να το κάνεις include στο Pelles C Δοκίμασε το παρακάτω στο Pelles #include <stdio.h> int main(int argc, char *argv[]) { int num; /* ορισμος μεταβλητής με το όνομα num */ num = 1; /* καταχώριση τιμής στην num */ printf(" είμαι ενας απλός "); /* χρήση της συνάρτισης printf ( ) */ printf(" υπολογιστής \n"); printf(" Ο αγαπημένος μου αριθμός είναι ο %d γιατί είναι πρώτος. \n", num); return 0; }αν στα βγάζει αλαμπουρνέζικα τα ελληνικά δοκίμασε να σώσεις το πηγαίο αρχείο σαν UTF-8 από ένα οποιδήποτε text-editor ή μέσα από το ίδιο το Pelles. 1
Ονειρολογίτης Δημοσ. 29 Οκτωβρίου 2014 Μέλος Δημοσ. 29 Οκτωβρίου 2014 Δυστηχως εγηνε παλι το ειδιο. Ανηγει για λιγο η μαυρη οθονη που ειναι σαν τερματικο και μετα εξαφανηζετε. Επιδη δεν βρηκα αλλο τροπο να σας δωσο το αρχειο το ανεβασα στο mediafire οριστε το link: https://www.mediafire.com/?a42m07irh6qml81 αμα θελετε ριξτε μια ματια στον πηγαιο κωδικα αμα σας βοηθισει... πραγματικα δεν ξερω τι να κανω εχω απελπιστει.... Να το κανουν τοσοι και εγω να μην μπορω.... σας εχω πρηξει και σας. Συγγνωμη....
Moderators Kercyn Δημοσ. 29 Οκτωβρίου 2014 Moderators Δημοσ. 29 Οκτωβρίου 2014 Έβαλες system("pause"); 1
nucleus Δημοσ. 30 Οκτωβρίου 2014 Δημοσ. 30 Οκτωβρίου 2014 Η εφαρμογή σου τρέχει κανονικά αν την εκτελέσεις απο command prompt όπως σου περιγράψαμε παραπάνω. Αν αλλάξεις τα ελληνικά που έχεις στα printf και εκτελέσεις το exe από ένα command prompt θα δεις τα printf. Έτσι είναι τα console Applications. 1
Ονειρολογίτης Δημοσ. 30 Οκτωβρίου 2014 Μέλος Δημοσ. 30 Οκτωβρίου 2014 Λοιπόν τα κατάφερα μεσω τερματικου. Απλα ειχα προβλημα κωδικοποιήσεις. Και επιδη δεν ηξερα πως να το λυσω απλα αλλαξα τα ελληνικα με αγγλικα. Ορίστε πως έγηνε(το κόκκινο περιγραμμα ειναι οπως σιγουρα θα καταλαβατε ο κωδικος): http://prntscr.com/517qdk καταρχάς να σας ευχαριστήσω και τους δυό για την πολήτιμη βοήθεια σας και εχω μια ερωτιση. Οταν δεν θα αφορα προτάσεις αλλα θα αφορα ενα προγραμμα παραδειγμα δεν θα εχω το ειδιο προβλημα λετε με το να εξαφανήζετε το application ? Μια χαζή ερώτιση. Εγω βάζω console application 32. Αμα βάλω console application 64 μήπως θα είναι καλήτερα ? τι λέτε ??
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα