Σελίδα 320 από 323

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 14 Μάιος 2013, 00:03
από konnn
@vale2000

Δυστυχώς δε μπορούμε να κατανοήσουμε τι ακριβώς ζητάς.


Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 30 Μάιος 2013, 15:56
από g1wrg0s
καλησπερα

Θα ηθελα να κανω μια ερωτηση. Υπαρχει καποιο κομματι της στοιβας ενος προγραμματος η οποια ξερω οτι ειναι παρανομο να προσπελαστει ; Θελω μια ακυρη address !

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 01 Ιουν 2013, 23:41
από pc_magas
Λογικα η διεύθυνση 0χ0 της μνήμης γιατί εκεί είναι φορτωμένο το λειτουργικό.

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 02 Ιουν 2013, 00:49
από konnn
pc_magas έγραψε:Λογικα η διεύθυνση 0χ0 της μνήμης γιατί εκεί είναι φορτωμένο το λειτουργικό.


Αυτό δεν είναι απόλυτα σωστό. Ο λόγος που θέλουμε να κάνουμε σωστή διαχείριση μνήμης στην c είναι για να μη γράψουμε σε περιοχή που είναι φορτωμένο κάτι άλλο π.χ το Λ.Σ οπότε υπάρχει και μεγάλος κίνδυνος να κρασάρει το σύστημά μας.

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 02 Ιουν 2013, 11:29
από pc_magas
konnn έγραψε:
pc_magas έγραψε:Λογικα η διεύθυνση 0χ0 της μνήμης γιατί εκεί είναι φορτωμένο το λειτουργικό.


Αυτό δεν είναι απόλυτα σωστό. Ο λόγος που θέλουμε να κάνουμε σωστή διαχείριση μνήμης στην c είναι για να μη γράψουμε σε περιοχή που είναι φορτωμένο κάτι άλλο π.χ το Λ.Σ οπότε υπάρχει και μεγάλος κίνδυνος να κρασάρει το σύστημά μας.

Απλά μου ζήτησε μια άκυρη adress και του την έδωσα. Λογικά το λειτουργικό θα την κόψει την διεργασία με segfault.

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 09 Ιουν 2013, 17:09
από g1wrg0s
Ευχαριστω για τις απαντησεις, απλως ζηταγα μια διευθυνση για την οποια να γνωριζω οτι αν παει το συστημα δεν θα μπορει να εκτελεσει κατι, δηλαδη να ειναι non-executable.

Αυτη να μην εξαρταται απο το συστημα αλλα να γνωριζω οτι εκει σιγουρα δεν επιτρεπεται να παω και να εκταλεσω .

Μια τετοια παρανομη ειναι η 0x000000 και ηθελα να βρω αλλη μια . . .

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 17 Νοέμ 2013, 21:56
από bbabis01
Γράφω προγραμματάκι στη c που θα τρέχει μέσω terminal του linux.. και θέλω όταν δίνει ο χρήστης την είσοδο "exit" να τερματίζει και η κονσόλα του terminal..

Έμα γράψω σκέτο exit(0) κλείνει το πρόγραμμά μου αλλά το terminal φυσικά συνεχίζει και είναι ανοικτό.. Πως μπορώ να το κλείνω και αυτό;

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 18 Νοέμ 2013, 01:26
από clepto
δεν νομίζω ότι μπορείς

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 18 Νοέμ 2013, 02:33
από simosx
bbabis01 έγραψε:Γράφω προγραμματάκι στη c που θα τρέχει μέσω terminal του linux.. και θέλω όταν δίνει ο χρήστης την είσοδο "exit" να τερματίζει και η κονσόλα του terminal..

Έμα γράψω σκέτο exit(0) κλείνει το πρόγραμμά μου αλλά το terminal φυσικά συνεχίζει και είναι ανοικτό.. Πως μπορώ να το κλείνω και αυτό;


Μπορείς να βρεις την ταυτότητα της διεργασίας (Process ID) του τερματικού, και μετά να την τερματίσεις (kill).
Θα είναι η γονική διεργασία της εφαρμογής που έγραψες.

Re: Τα πάντα για την C

ΔημοσίευσηΔημοσιεύτηκε: 18 Νοέμ 2013, 19:47
από bbabis01
Ευχαριστώ!

2) θα δίνει ο χρήστης και όνομα εντολής και το εκτελώ μέσω execvp.. Αυτό που θέλω να ρωτήσω είναι:
Άμα γράψεις στο terminal μια εντολή που δεν υπάρχει τέτοιο όνομα σου γράφει: η εντολή δε βρέθηκε .. Τί error είναι αυτό; Δλδ πως θα βάλω έναν έλεγχο ωστε να του βγάζω ένα αντίστοιχο μνμ οταν θα μου δινει λάθος όνομα εντολής;