Pojęcie w definicji ABC
Różne / / July 04, 2021
Autorstwa Guillem Alsina González, we wrześniu. 2017
Jak możemy dogadać się z kimś, z kim nie mamy wspólnego języka? Przez tłumacza. Ta funkcja tłumaczenia wykonuje a kompilator zmienić się w kod wykonywalny kod źródłowy napisany przez programistę.
Kompilacja to proces, w którym program napisany w języku wysokiego poziomu jest przetłumaczone na kod maszynowy używany przez określoną architekturę komputerową, w celu jego wykonania bezpośredni.
Dlatego i zgodnie z wyjaśnieniem, które właśnie zaproponowaliśmy, system ten wymaga wyboru a architektura celu, który może być inny w każdym przypadku i zmusi nas do kompilacji osobno dla każdej z różnych architektur, w których chcemy, aby działał nasz program.
W ten sposób na przykład możemy przejść na pewien program dla architektury 32-bit x86, 64-bit x86, PowerPC lub ARM również różnicujące bity 32 i 64, w zależności od typu urządzenia, w którym chcemy Uruchom.
Ponadto musimy również wziąć pod uwagę różne systemy operacyjne, nawet jeśli pracujemy na tej samej platformie sprzęt komputerowy, ponieważ każdy z nich ma inny sposób interakcji z fizyczną maszyną
Jako przykład weźmy 64-bitową platformę x86. Możemy chcieć skompilować dla Okna, GNU / Linux lub macOS lub dla każdego z nich, co oznacza trzy oddzielne procesy kompilacji.
Czasami zmusza nas to do lekkiego dostrojenia kodu źródłowego, często zachowując trzy oddzielne wersje (lub więcej, w zależności od przypadku) w celu prawidłowego współdziałania ze specyfiką i różnicami platformy docelowej.
Proces kompilacji składa się z szeregu kroków, takich jak wykrywanie błędów składniowych w kodzie źródłowym, a następnie wstępnie przetworzone, aby poznać zasoby, których potrzebuje program, a na koniec link z bibliotekami i zasobami niezbędnymi do jego wykonanie.
W ten sposób a plik plik wykonywalny zawierający wszystkie zasoby niezbędne do jego wykonania oraz instrukcje niezbędne do uzyskania dostępu do zasobów zewnętrznych, takich jak współdzielone biblioteki kodu (udostępniony).
Proces kompilacji odbywa się za pomocą określonego narzędzia lub narzędzi (kompilatora), chociaż często jest to integrowane ze środowiskami programistycznymi (IDE), ułatwiając w ten sposób jego użycie.
Każdy język programowanie Posiada własny kompilator, choć przez długi czas kompilator odpowiadający językowi i środowisku potrafił generować pliki wykonywalne dla różnych platform. oprogramowanie różne.
Czy istnieje alternatywa dla procesu budowania? Tak, i są to języki tłumaczone.
Języki interpretowane to te, które są tłumaczone w czasie wykonywania, a nie kompilowane.
Dlatego ich kod źródłowy jest zawsze dostępny, a to, czego potrzebują, to w system operacyjny na którym są wykonywane, jest tłumacz.
Unikając procesu kompilacji, jeśli interpreter jest dostępny na wiele platform, będzie można uruchomić program bezpośrednio na każdym z nich, zwykle bez zmian.
Inny skupiać Alternatywą, w połowie drogi między językami kompilowanymi a interpretowanymi, są te, które wymagają do działania maszyny wirtualnej, na przykład Javy.
Języki programowania działające na warstwie wirtualizacji (maszynie wirtualnej) wymagają pośredniego procesu podobnego do tego z kompilacja, ale skutkuje to kodem, który nie jest bezpośrednio wykonywalny, chociaż jest bardziej zoptymalizowany niż ten wykonywany przez język interpretowane.
W takich przypadkach wymaga to procesu podobnego w formie do kompilacji, ale daje to inny wynik i nadal wymaga, w każdym razie, instalacja z czas pracy w systemie operacyjnym, w którym chcemy uruchomić nasz program.
Zdjęcia: Fotolia - Alexander Pokusay / Onot
Tematy w kompilacji