Główna » jak » Czy rozszerzenia plików EXE mogą zawsze zostać zastąpione przez COM?

    Czy rozszerzenia plików EXE mogą zawsze zostać zastąpione przez COM?

    Jeśli kiedykolwiek słyszałeś o zmianie rozszerzenia pliku z EXE na COM, być może zastanawiałeś się, czy działa on tylko na kilku rzadkich plikach lub czy działa na prawie każdym pliku EXE, jaki masz. Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Czytnik SuperUser Royi Namir chce wiedzieć, czy rozszerzenia plików EXE można zawsze zastąpić plikami COM ?:

    Nasze oprogramowanie antywirusowe odmówiło mi skopiowania pliku EXE do mojego folderu startowego Windows 7 (na przykład calc.exe), ponieważ jest to plik EXE. Następnie zmieniłem rozszerzenie pliku z EXE na COM na pliku i mogłem z łatwością skopiować go do folderu bez problemów (bardzo profesjonalnie).

    I oczywiście calc.com działa równie dobrze jak calc.exe, co mnie zastanawia. Kiedy program z rozszerzeniem pliku EXE nie będzie działał, gdy rozszerzenie zostanie zmienione na COM? Prawie każdy plik EXE, który sprawdziłem, zadziałał. Chciałbym poznać powody tego, dlaczego "dlaczego i dlaczego nie".

    Czy rozszerzenia plików EXE można zawsze zastąpić plikami COM?

    Odpowiedź

    Pomocnik SuperUser Math Man ma dla nas odpowiedź:

    Ma to związek z wewnętrznym formatem pliku. Początkowo pliki COM były prostymi obrazami pamięci, a pliki EXE miały z nimi wiele nagłówków. W rezultacie nie można zmienić ich nazwy.

    W miarę upływu czasu i musieli robić rzeczy kompatybilne z poprzednimi wersjami, Microsoft zmieniał je tak, aby system operacyjny sprawdzał sam plik, aby określić, jaki jest plik zamiast rozszerzenia. W rezultacie po uruchomieniu pliku o zmienionej nazwie system Windows całkowicie ignoruje rozszerzenie.

    Odwiedź poniższe linki, aby uzyskać bardziej szczegółowe i obszerne wyjaśnienie.

    Jaka jest różnica między .com, .exe i .bat? [Przepełnienie stosu]

    Jaka jest różnica między rozszerzeniami COM i EXE? [Blog programisty Microsoft]


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.