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

C++ εκτέλεση απο το τερματικό σε Ubuntu


AMIOX?

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

Γειά σας

 

Θέλω να εκτελέσω ένα αρχείο .cpp (project.cpp) με τον g++.

 

Μέχρι τώρα έκανα g++ project.cpp -lncurses(για την ncurses) και δουλεύει μια χαρά. Τώρα ομώς θελω να δίνω και παράμετρο στην main ένα όνομα αρχείου π.χ. maze.txt , εχω κανει τα argv argc klp αλλα δεν ξέρω πως να το εκτελέσω.

 

Όταν εκτελώ:

@ubuntu:~$ g++ maze.txt project.cpp -lncurses

 

σφάλμα:

 

/usr/bin/ld:maze.txt: file format not recognized; treating as linker script

/usr/bin/ld:maze.txt:1: syntax error

collect2: η ld επέστρεψε κατάσταση εξόδου 1

 

Ευχαριστώ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ο gcc κάνει compile και σου παράγει το εκτελέσιμο. Δεν το εκτελεί όμως οπότε και παλιά πριν χρειαστείς arguments ακόμη δύσκολο να σου έτρεχε ο κώδικας με την παραπάνω εντολή που μας δίνεις.

 

>
1) g++ -Wall -lncurses -o project project.cpp
2) ./project maze.txt

 

Η 1η εντολή θα σου παράγει το εκτελέσιμο αρχείο project (ή a.out αν δεν επιλέξεις όνομα) και η 2η εντολή το εκτελεί παρέχοντας μία παράμετρο η οποία είναι "maze.txt".

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σκέψου το εξής.

 

Το compile θα σου βγάλει το εργαλείο - πρόγραμμα, με το οποίο θα κάνεις τα όσα είναι να κάνεις στο αρχείο.

 

Στο εργαλείο που θα βγει, θα δίνεις το αρχείο.

 

Δηλαδή, το αρχείο το δίνεις κατά την εκτέλεση του ήδη compiled προγράμματος.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κι αν θέλεις να κάνεις debug με τον gdb το project περνώντας στο project το maze.txt, κάνεις...

 

>
g++ -g3 project.c -o project
gdb project

 

και πλέον μέσα στον gdb, γράφεις...

>
run maze.txt

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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