Ja nie pytając o jak zrobić pracę exe systemu Windows w systemie Linux.
Pytam DLACZEGO to nie działa.
Czym różni się sposób, w jaki Windows uruchamia plik wykonywalny, a Linux uruchamia plik wykonywalny? Dlaczego musieli być inni? Poza tym, dlaczego pliki wykonywalne Linuksa nie mają rozszerzenia plików?
Odpowiedzi:
Pliki wykonywalne Linux i Windows używają różnych formatów. Linux używa formatu ELF na większości architektur, podczas gdy Windows używa formatu PE . ELF jest lepiej dostosowany do sposobu, w jaki Linux zarządza bibliotekami współdzielonymi, a PE jest lepiej dostosowany do sposobu, w jaki Windows zarządza bibliotekami współdzielonymi, ale nie ma fundamentalnego powodu, dla którego Linux nie mógł wykonywać plików wykonywalnych PE lub plików wykonywalnych ELF systemu Windows. W rzeczywistości Linux może wykonywać pliki PE przy pomocy Wine .
Trudność polega na tym, że Windows i Linux mają zupełnie inne interfejsy API : mają różne interfejsy jądra i zestawy bibliotek. Aby faktycznie uruchomić aplikację Windows, Linux musiałby emulować wszystkie wywołania API, które wykonuje aplikacja. To dużo pracy. Wino robi to do pewnego stopnia, ale jest bardzo trudne, zwłaszcza, że producent systemu Windows nie współpracuje. Możesz to porównać z, powiedzmy, nauką angielskiego, gdy twoim językiem ojczystym jest chiński: formatem wykonywalnym jest alfabet (nie tak trudny do opanowania), API to słownictwo (zajmuje lata, aby przejść do poziomu, na którym możesz zacząć czytać literaturę ).
źródło
Pliki binarne systemu Windows mają inny ABI i używają innego interfejsu API niż pliki binarne systemu Linux.
Pliki binarne systemu Linux nie wymagają rozszerzenia, ponieważ * nix używa bitów uprawnień do identyfikacji pliku wykonywalnego zamiast rozszerzenia.
źródło
W ten sposób usłyszałem od programistów, że okienko zostało wyjaśnione laikans.
W systemie Windows istnieją haczyki w programach i systemie operacyjnym, które Exe wywołuje do tego, że po prostu nie będzie tam w Linuksie. Ze względu na różnice w obu środowiskach. Początkowo Linux szuka uprawnień, Windows najpierw szuka formatu możliwego do połączenia, badając rozszerzenie, przeglądając właściwości, a następnie przeglądając plik Exe itp.
Istnieją aplikacje takie jak Netbackup, które zaczęły się w systemie Linux i zostały zmodyfikowane do działania w środowisku Windows bez korzystania z IMHO Wine, często są to jedne z najbardziej stabilnych i najlepiej zachowujących się aplikacji Windows.
Gdy aplikacje Windows. stają się niesforne, zwykle dlatego, że niektóre z haków utrzymywanych przez aplikację nie zostały całkowicie zwolnione, a system Windows uważa, że tak było (wycieki pamięci). Gdy system Windows przekazuje niewydane miejsce pamięci do innej aplikacji Awaria i nagranie.
źródło