Μπορούν οι Επεκτάσεις αρχείων EXE να αντικαθίστανται πάντοτε με COM;
Αν έχετε ακούσει ποτέ ότι αλλάξατε την επέκταση ενός αρχείου από EXE σε COM, ίσως αναρωτηθήκατε αν ήταν μόνο ικανό να δουλέψει σε μερικά σπάνια αρχεία ή αν θα μπορούσε να λειτουργήσει σε σχεδόν οποιοδήποτε αρχείο EXE που έχετε. Η σημερινή θέση SuperUser Q & A έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Το ερώτημα
Ο αναγνώστης SuperUser Royi Namir θέλει να μάθει αν οι επεκτάσεις αρχείων EXE μπορούν πάντοτε να αντικατασταθούν με COM;
Το λογισμικό προστασίας από ιούς αρνήθηκε να μου επιτρέψει να αντιγράψω ένα αρχείο EXE στον φάκελο εκκίνησης των Windows 7 (π.χ. calc.exe), επειδή είναι ένα αρχείο EXE. Στη συνέχεια, άλλαξα την επέκταση αρχείου από EXE σε COM στο αρχείο και μπόρεσα εύκολα να την αντιγράψω στον φάκελο χωρίς προβλήματα (πολύ επαγγελματικό).
Και φυσικά, το calc.com λειτουργεί ακριβώς όπως και το calc.exe, το οποίο με έκανε να αναρωτιέμαι. Πότε ένα πρόγραμμα με επέκταση αρχείου EXE δεν λειτουργεί όταν η επέκταση αλλάξει σε COM; Σχεδόν κάθε αρχείο EXE που έχω ελέγξει έχει λειτουργήσει. Θα ήθελα πολύ να μάθω τους λόγους για το «γιατί και γιατί όχι» του θέματος.
Μπορούν οι επεκτάσεις αρχείων EXE να αντικαθίστανται πάντοτε με COM?
Η απάντηση
Συνεργάτης SuperUser Math Man έχει την απάντηση για εμάς:
Έχει σχέση με την εσωτερική μορφή του αρχείου. Αρχικά, τα αρχεία COM ήταν απλές εικόνες μνήμης και τα αρχεία EXE είχαν πολλά κεφαλίδες συνδεδεμένα με αυτά. Ως αποτέλεσμα, δεν μπορείτε να τα μετονομάσετε.
Καθώς ο χρόνος συνέχιζε και έπρεπε να κάνουν τα πράγματα συμβατά προς τα πίσω, η Microsoft το άλλαξε έτσι ώστε το λειτουργικό σύστημα να εξετάζει το ίδιο το αρχείο για να καθορίσει το είδος του αρχείου που είναι αντί της επέκτασης. Ως αποτέλεσμα, όταν εκτελείτε το μετονομαζόμενο αρχείο, τα Windows αγνοούν πλήρως την επέκταση.
Επισκεφθείτε τους παρακάτω συνδέσμους για πιο λεπτομερείς και εκτενείς εξηγήσεις.
Ποια είναι η διαφορά μεταξύ .com, .exe και .bat; [Υπερχείλιση στοίβας]
Ποια είναι η διαφορά μεταξύ των επεκτάσεων COM και EXE; [Ιστολόγιο προγραμματιστών της Microsoft]
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.