Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, έχω μια εργασία στη C και μου ζητείται ο χρήστης να τρέχει το παιχνίδι από τη γραμμή εντολών. Πιο συγεκριμένα όταν γράφει myGame -n να γίνεται η εκίνηση ενός καινούργιου παιχνιδιού.

με την εντολή myGame -l name.chk να φορτώνει μια αποθηκευμένη παρτίδα και τέλοσπάντων με κάποιες άλλες εντολές να κάνει κάποια πράγματα. Δεν έχω θέμα με τον κώδικα(προς το παρόν τουλάχιστον) αλλά δεν μου έχει τύχει να ξανακάνω κάτι τέτοιο. Οποιαδήποτε πληροφορία θα με βοηθίσει πολύ. Ευχαριστώ

Δημοσ.

Το πρόβλημα μου είναι πως θα γίνει όλο αυτό. Δηλαδή αντί να κάνω compile το πρόγραμμα μέσο του Dev C++ ξέρω γω. Να ανοίξω τη γραμή εντολών και γράφωντας αυτά που ανέφερα να χρησιμοποιεί διαφορετικά κομμάτια του κώδικα.

Δημοσ.

Υποθέτω οτι δουλέυεις σε linux. Σε περίπτωση που δεν ισχύει αυτό τότε ρίξε ματιά στο cygwin.

 

Εφόσον ανοίξεις την κονσόλα και πας στο directory που είναι τα αρχεία σου χρησιμοποιείς τον compiler που έχεις για να κάνεις compile. Ο πιο κλασικός είναι ο gcc. Η βασική και απλή εντολή για να κάνεις compile είναι

>gcc hello.c -o hello

 

Όπου hello.c το όνομα του αρχείου c που έχεις και όπου hello το όνομα που θέλεις να έχει το εκτελέσιμο. Από εκεί και πέρα απλά χρησιμοποιείς το παρακάτω για να τρέξεις το πρόγραμμα.

>./hello arguments_go_here_if_any

Δημοσ.

Windows 7 έχω. Το cygwιν που αναφέρεις θα μου φανεί χρήσιμο;

Δηστυχώς δε θυμάμαι ούτε πως να πάω στο directory που είναι ο compiler.

Δε ζητάω να μου πείτε ακριβώς πως να τα κάνω...απλώς ψάχνω στο google αλλά δε βρίσκω αυτό ακριβώς που θέλω..

Δημοσ.

Ναι θα σου φανεί χρήσιμο. Είναι στην ουσία κατά κάποιο τρόπο "προσωμοιωτής περιβάλλοντος linux". Κονσόλα πάντα. Κάντο εγκατάσταση και κάνε από εκεί αυτά που ανέφερα.

Δημοσ.

Δε νομίζω ότι θες cygwin... Εσύ θα γράψεις κανονικά το πρόγραμμα σου, και θα κανείς build κανονικά με το dev c++ (όπως κανείς κανονικά). Μετά θα πας Execute -> Parameters... και θα βάλεις τα ορίσματα που θες να περνάς στο πρόγραμμα σου όταν πατάς run.

 

Αλλά μπορείς να κατεβάσεις το Pelles C για το οποίο αν θες θα σου πω ακριβώς πως γίνετε να κανείς αυτό που θες. Το Pelles C είναι ελαφρύ και εύχρηστο και επίσης ενημερωμένο, εν αντίθεση με το dev c++ που είναι παρατημένο εδώ και χρόνια...

 

Tip: εσύ ένα αρχείο κώδικα θα γράψεις που στη main θα κανείς parse τα arguments (-l, -n κλπ) με τη βοήθεια των μεταβλητών argc και argv

Δημοσ.

Δεν χρειάζεσαι 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 δηλαδή).

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...