monkey90 Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Καλησπέρα, έχω μια εργασία στη C και μου ζητείται ο χρήστης να τρέχει το παιχνίδι από τη γραμμή εντολών. Πιο συγεκριμένα όταν γράφει myGame -n να γίνεται η εκίνηση ενός καινούργιου παιχνιδιού. με την εντολή myGame -l name.chk να φορτώνει μια αποθηκευμένη παρτίδα και τέλοσπάντων με κάποιες άλλες εντολές να κάνει κάποια πράγματα. Δεν έχω θέμα με τον κώδικα(προς το παρόν τουλάχιστον) αλλά δεν μου έχει τύχει να ξανακάνω κάτι τέτοιο. Οποιαδήποτε πληροφορία θα με βοηθίσει πολύ. Ευχαριστώ
computeras13 Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Το πρόβλημα σου ποιο ακριβώς είναι; Το πως θα διαχειριστείς τα flags;
monkey90 Δημοσ. 15 Μαΐου 2012 Μέλος Δημοσ. 15 Μαΐου 2012 Το πρόβλημα μου είναι πως θα γίνει όλο αυτό. Δηλαδή αντί να κάνω compile το πρόγραμμα μέσο του Dev C++ ξέρω γω. Να ανοίξω τη γραμή εντολών και γράφωντας αυτά που ανέφερα να χρησιμοποιεί διαφορετικά κομμάτια του κώδικα.
computeras13 Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Υποθέτω οτι δουλέυεις σε linux. Σε περίπτωση που δεν ισχύει αυτό τότε ρίξε ματιά στο cygwin. Εφόσον ανοίξεις την κονσόλα και πας στο directory που είναι τα αρχεία σου χρησιμοποιείς τον compiler που έχεις για να κάνεις compile. Ο πιο κλασικός είναι ο gcc. Η βασική και απλή εντολή για να κάνεις compile είναι >gcc hello.c -o hello Όπου hello.c το όνομα του αρχείου c που έχεις και όπου hello το όνομα που θέλεις να έχει το εκτελέσιμο. Από εκεί και πέρα απλά χρησιμοποιείς το παρακάτω για να τρέξεις το πρόγραμμα. >./hello arguments_go_here_if_any
monkey90 Δημοσ. 15 Μαΐου 2012 Μέλος Δημοσ. 15 Μαΐου 2012 Windows 7 έχω. Το cygwιν που αναφέρεις θα μου φανεί χρήσιμο; Δηστυχώς δε θυμάμαι ούτε πως να πάω στο directory που είναι ο compiler. Δε ζητάω να μου πείτε ακριβώς πως να τα κάνω...απλώς ψάχνω στο google αλλά δε βρίσκω αυτό ακριβώς που θέλω..
computeras13 Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Ναι θα σου φανεί χρήσιμο. Είναι στην ουσία κατά κάποιο τρόπο "προσωμοιωτής περιβάλλοντος linux". Κονσόλα πάντα. Κάντο εγκατάσταση και κάνε από εκεί αυτά που ανέφερα.
nilosgr Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Δε νομίζω ότι θες cygwin... Εσύ θα γράψεις κανονικά το πρόγραμμα σου, και θα κανείς build κανονικά με το dev c++ (όπως κανείς κανονικά). Μετά θα πας Execute -> Parameters... και θα βάλεις τα ορίσματα που θες να περνάς στο πρόγραμμα σου όταν πατάς run. Αλλά μπορείς να κατεβάσεις το Pelles C για το οποίο αν θες θα σου πω ακριβώς πως γίνετε να κανείς αυτό που θες. Το Pelles C είναι ελαφρύ και εύχρηστο και επίσης ενημερωμένο, εν αντίθεση με το dev c++ που είναι παρατημένο εδώ και χρόνια... Tip: εσύ ένα αρχείο κώδικα θα γράψεις που στη main θα κανείς parse τα arguments (-l, -n κλπ) με τη βοήθεια των μεταβλητών argc και argv
migf1 Δημοσ. 15 Μαΐου 2012 Δημοσ. 15 Μαΐου 2012 Δεν χρειάζεσαι cygwin, μια χαρά θα το τρέχεις από cmd.exe. Αν κατάλαβα σωστά, δεν έχεις ξανα δουλέψει με command-line arguments. Αν όντως, τότε... > int main( int argc, char *argv[] ) { ... } Το argc είναι πόσα arguments σου έχει περάσει ο χρήστης στη γραμμή εντολών (τα "-n", "-l", κλπ) και το argv[] είναι ένας πίνακας από strings, με το κάθε στοιχείο του να περιέχει τα commands που σου πέρασαν στη γραμμή εντολών, με τη σειρά. Το argv[ argc ] είναι εγγυημένα NULL terminated (δλδ, το τελευταίο του στοιχείο είναι ο δείκτης NULL). Έχε υπόψη σου πως το argv[0] είναι πάντα το όνομα του προγράμματός σου (του .exe δηλαδή).
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα