Kuo skiriasi programa nuo .exe failo?


Atsakymas 1:

Iš esmės „.exe failas“ yra konkretesnis.

.Exe failo plėtinys rodo, kad faile yra „vykdomoji programa“ vienu iš nedaugelio susijusių formatų. (Vikipedijoje yra tinkama suvestinė; šiuolaikiniai „Windows“ vykdomieji failai yra „Microsoft“ PE formate.)

Šiandien yra daugybė skirtingų formatų, kuriuos vykdo kažkokie vertėjai - daugelis iš jų yra tik kodas, kurį žmogus parašė naudodamas kokį nors teksto redaktorių. Senais skaičiavimo laikais (maždaug nuo 1970 m. Iki 1990 m.) Tokie vertėjai nebuvo perspektyvūs, nes greitis ir atminties talpa buvo per daug riboti. Taigi norint vykdyti programą, ji turėjo būti išversta, kad centrinis procesorius galėtų tiesiogiai paleisti programą.

Taigi „vykdomosios programos“ failo formate yra bent jau

  • Programos kodas, išverstas į bet kurio kompiuterio, kuriame jis skirtas veikti, mašinos kodą

Ir daugeliu atvejų

  • Keletas informacijos, apibūdinančios, kaip programos kodas turėtų būti išdėstytas atmintyje, kokia dar turi būti atmintis, ir kitos informacijos apie būseną, kurioje turėtų būti sistema, kai programa paleidžiama. , visų pirma procesoriaus tipo ir operacinės sistemos suderinamumasNuorodos į bendrąsias bibliotekas, kurias naudoja programa, ir bet kokia reikalinga informacija apie tai, kur jie turi būti atmintyje. („Windows“ sistemoje tai yra DLL) Duomenų šaltiniai, kuriuos programa naudos vykdydama, pvz., Piktogramos, garsai, teksto eilutės vartotojui (galbūt keliomis kalbomis)

Kiekviena operacinė sistema turi bent vieną vykdomąjį programos failo formatą, kurį ji gali įkelti ir paleisti. Paprastai krautuvas patikrins suderinamumą su procesoriumi ir operacine sistema, patikrins, ar yra reikalingos bendrinamos bibliotekos, sukurs naują programos paleidimo procesą, įkels mašinos kodą ir duomenų išteklius į nurodytas vietas proceso adreso vietoje atmintyje, įkelkite visas dar ne atmintyje esančias bendrinamas bibliotekas ir priskirkite visas susietas bendras bibliotekas proceso adreso erdvėje ir pagaliau pradėkite procesą.

Taigi, „programa“ yra tik kažkas, ką kažkas parašė ir kuri galėtų būti paleista kompiuteryje, jei tenkinamos tam tikros sąlygos.

.Exe failas yra programa, parengta paleisti bet kuriame kompiuteryje su faile nurodytu procesoriumi, operacine sistema ir bendromis bibliotekomis.


Atsakymas 2:

Aš sakyčiau, kad .exe failas yra programos pogrupis. Exe failai yra programos, bet ne visos programos yra exe failai.

Visos programos turi būti vykdomos vienaip ar kitaip, tačiau jas galima kompiliuoti į bibliotekas ir vykdyti kitais exe failais. Arba programos gali būti kompiliuotos į tarpinį (baitinį) kodą, pavyzdžiui, „Java“, ir tada vykdomos virtualioje mašinoje. Arba programos gali būti scenarijai, kuriuos interpretuoja vertėjo programa.


Atsakymas 3:

Aš sakyčiau, kad .exe failas yra programos pogrupis. Exe failai yra programos, bet ne visos programos yra exe failai.

Visos programos turi būti vykdomos vienaip ar kitaip, tačiau jas galima kompiliuoti į bibliotekas ir vykdyti kitais exe failais. Arba programos gali būti kompiliuotos į tarpinį (baitinį) kodą, pavyzdžiui, „Java“, ir tada vykdomos virtualioje mašinoje. Arba programos gali būti scenarijai, kuriuos interpretuoja vertėjo programa.