Union Regs(in,out) compile errors

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Flamable
Δημοσιεύσεις: 19
Εγγραφή: 02 Ιούλ 2010 06:30

Union Regs(in,out) compile errors

Δημοσίευση από Flamable » 06 Ιούλ 2010 05:27

Καλησπέρα σε όλους. Εχω ξεκινήσει να ασχολούμαι με C++ το τελευταίο διάστημα. Πειραματίζομαι με scriptakia για προγραμματισμένο mouse move. Οσα και έχω δοκιμάσει(ακόμα και έτοιμα) αντιμετωπίζω πρόβλημα με το union regs, δεν το κάνει compile και μου βγάζει errors. Οι δοκιμές γίνονται σε windows xp kai με compiler τον Dev. Γιατί συμβαίνει αυτό και τι μπορώ να κάνω για να το λύσω? Επίσης κάπου διάβασα στο google σε ένα forum απο κάποιον άλλον που αντιμετώπιζε το ίδιο, ότι χρειάζομαι dos compiler και όχι windows compiler.
Αν μπορεί κάποιος να με διαφωτίσει .
Ευχαριστώ πολύ.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Union Regs(in,out) compile errors

Δημοσίευση από dva_dev » 06 Ιούλ 2010 09:25

Θέλεις όντως dos compiler. Οχι και πολύ εύκολο να βρεθεί αυτές τις μέρες, αλλά δοκίμασε στο
http://www.brothersoft.com/turbo-c-download-182798.html
http://edn.embarcadero.com/article/20841 (πρέπει να θέλει free registration).
αλλιώς αναζήτησε στο internet για dos c++ compiler.

Flamable
Δημοσιεύσεις: 19
Εγγραφή: 02 Ιούλ 2010 06:30

Union Regs(in,out) compile errors

Δημοσίευση από Flamable » 06 Ιούλ 2010 13:22

Ευχαριστώ dva_dev. Ωχ πάλι τα ίδια. Θυμάμαι τι τράβηξα για να εγκαταστάσω manual apache mysql php. Κατέβασα για dos compiler τον GCC Compiler for MS-DOS Βέβαια εδώ τα πράγματα μοιάζουν πιο εύκολα . Η απορία μου είναι: ολοι όσουν κάνουν mouse mouve έχουν 2 compilers?Εναν για dos και έναν για windows? Οι compilers για windows δεν υποστηρίζουν και dos compile γενικά ή μόνο ο dev δεν υποστηρίζει? Απαξ και βάλω τον gcc μετά δεν θα χρειάζεται να χρησιμοποιήσω τον dev, αλλά όλη τη δουλειά θα την κάνω μέσω dos??? Εχω μπερδευτεί ολίγον :roll:

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

Union Regs(in,out) compile errors

Δημοσίευση από nbc » 06 Ιούλ 2010 13:33

Δεν καταλαβαίνω το πρόβλημά σου, η SetCursorPos δεν σου κάνει? Γιατί σώνει και καλά πρέπει να χρησιμοποιήσεις union regs?

Flamable
Δημοσιεύσεις: 19
Εγγραφή: 02 Ιούλ 2010 06:30

Union Regs(in,out) compile errors

Δημοσίευση από Flamable » 06 Ιούλ 2010 14:00

Δεν ξέρω. Απλά όσα παραδείγματα βρήκα και tutorial χρησιμοποιούν regs. Θα τσεκάρω setcursorpos και θα σου πώ. Δεν ήξερα οτι υπήρχε. Ευχαριστώ για την πληροφορία :)

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

Union Regs(in,out) compile errors

Δημοσίευση από nbc » 06 Ιούλ 2010 14:41

Ήθελα να 'ξερα που τα βρήκες αυτα τα tutorials... :D

Το union regs είναι μια επέκταση της Borland (turbo-c) για να απλοποιήσει το interrupt programming (int86). Συνεπώς, δεν αρκεί οποιοσδήποτε DOS compiler. Χρειάζεται κάποιος που να έχει και να υποστηρίζει το dos.h. Δηλαδή, ο turbo-c!

Επιπροσθέτως, ακόμη και να το φτιάξεις το πρόγραμμα (σε DOS), το πιο πιθανό είναι ότι δεν θα τρέξει (θα ήμουν σίγουρος αν έβλεπα τον κώδικα, αλλά τον υποψιάζομαι). Τα Windows XP είναι η πρώτη έκδοση που ενοποίησε την επαγγελματική σειρά (NT) με τη Home (9x, Me). Στα ΝΤ απαγορευόταν η πρόσβαση στο hardware και στο DOS συγκεκριμένα (αφού δεν βασίζονταν σε αυτό), στα 9x επιτρεπόταν μιας και ουσιαστικά κάθονταν επάνω του. Τα XP, βασισμένα στον πυρήνα των ΝΤ, την απαγορεύουν. Για να προσπεράσεις αυτόν τον περιορισμό, χρειάζεσαι thunk layer, το οποίο είναι αγγούρι topic ακόμη και για προχωρημένους.

Συνεπώς, σου συνιστώ να ξεχάσεις οτιδήποτε έχει να κάνει με union regs και να αρκεστείς στο Win API που σου παρέχει (σχεδόν) τα πάντα.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες