Co to jest preprocesor?

Ogólnie rzecz biorąc, kiedy ktoś odnosi się do procesora w komputerach, ma na myśli jakiś rodzaj krzemowego układu scalonego, który wykonuje obliczenia. P w CPU, GPU, APU, NPU i wielu innych formach układów logicznych oznacza „przetwarzanie”, czyli jednostkę centralną. Każdy z nich to specyficzny typ procesora, zoptymalizowany pod kątem jego konkretnej funkcji. Preprocesor nie ma jednak nic wspólnego z procesorami fizycznymi, takimi jak CPU czy GPU. Zamiast tego jest to termin programistyczny, odnoszący się konkretnie do języków kompilowanych.

Co to jest kompilator?

Kompilator to oprogramowanie, które kompiluje określony język programowania do kodu maszynowego. Wszystkie języki programowania muszą zostać przekonwertowane na kod maszynowy, ponieważ instrukcje czytelne dla człowieka, które składają się na użyteczne języki programowania, nie są bezpośrednio wykonywane przez komputer. Niektóre są zaprojektowane do interpretacji w locie, gdy kod jest uruchamiany. Takie podejście jest bardzo elastyczne, co ułatwia wprowadzanie drobnych zmian. Jednak wiele innych języków programowania musi zostać skompilowanych, aby mogły zostać wykonane. W małych programach nie musi to zająć dużo czasu. Jednak w przypadku większych programów kompilacja może zająć minuty, a nawet godziny.

Dlaczego więc miałbyś chcieć używać języka, który wymaga kompilacji? Cóż, trudniej jest wykonać inżynierię wsteczną. Interpretowane języki programowania często mają swój kod dystrybuowany bez zmian, co ułatwia „kradzież”. W przypadku firm, które chcą chronić swoją własność intelektualną, kompilacja wstawek jest złożonym i niewiarygodnym etapem inżynierii wstecznej, aby zobaczyć rzeczywisty kod. Skompilowane oprogramowanie jest również zwykle mniejsze, ponieważ zostało zoptymalizowane pod kątem wykonania. Nie jest to tak naprawdę problem w przypadku małych skryptów, ale w przypadku dużego oprogramowania o rozmiarze setek megabajtów, a nawet gigabajtów, może to mieć zauważalny efekt.

Co więc robi preprocesor?

Preprocesor to narzędzie, które jest uruchamiane na kodzie przed jego kompilacją. Zazwyczaj kompilator automatycznie wywołuje preprocesor podczas uruchamiania, jednak można je również uruchomić osobno. Zadaniem preprocesora jest skonfigurowanie kodu dokładnie tak, jak zamierzono. Robi to przede wszystkim poprzez wykonywanie funkcji wyszukiwania i zastępowania.

Na przykład w C standardową praktyką jest używanie wielu standardowych bibliotek. Biblioteki te definiują szereg funkcji zapewniających standardową funkcjonalność. Aby zaimportować te biblioteki, używane jest słowo kluczowe „#include”, po którym następuje nazwa biblioteki. Preprocesor przeszukuje kod w poszukiwaniu instrukcji typu „#include” i zastępuje je. W przypadku „#include” preprocesor wstawia całą zawartość podanej biblioteki.

Pozwala to zachować czytelność faktycznie napisanego kodu, jednocześnie korzystając z wielu potężnych i istniejących wcześniej narzędzi. Oszczędza to konieczności wymyślania koła na nowo dla każdej aplikacji lub konieczności wklejania części lub całej biblioteki do bazy kodu.

Innym potencjalnym zastosowaniem preprocesora jest usuwanie lub dodawanie pewnych funkcji w zależności od celu kompilacji. Na przykład, jeśli chcesz przetestować nową kompilację, bardzo przydatne może być uwzględnienie kilku kroków debugowania. Nie tylko nie są one potrzebne w kompilacjach wydań, ale w rzeczywistości powodują, że skompilowane oprogramowanie jest większe. Preprocesor może sprawdzić argumenty kompilatora i określić, czy pewne funkcje muszą zostać uwzględnione, czy zignorowane. Podobnie preprocesor zwykle usuwa komentarze przed kompilatorem, ponieważ nie powinny one być uwzględniane w kompilacji.

Wniosek

Preprocesor to narzędzie uruchamiane przez kompilator w celu manipulowania kodem przed jego kompilacją. Chociaż preprocesor można wywołać oddzielnie, zwykle jest on wywoływany jako część procesu kompilacji. Preprocesor szuka pewnych zdefiniowanych łańcuchów i zastępuje je standardową treścią. W przypadku komentarzy nie ma zamiany, ale w przypadku instrukcji zawierających biblioteki zewnętrzne preprocesor zastępuje instrukcję zawartością rzeczywistej biblioteki. Preprocesor może również przyjmować argumenty w czasie kompilacji, aby bramkować określoną funkcjonalność. Jest to często używane do dołączania lub wykluczania funkcji debugowania z kompilacji testowych lub wydań.



Leave a Comment

Co zrobić, jeśli Powerbeats Pro nie ładują się w etui

Co zrobić, jeśli Powerbeats Pro nie ładują się w etui

Jeśli Twoje Powerbeats Pro się nie ładują, spróbuj użyć innego źródła zasilania i oczyść swoje słuchawki. Pozostaw etui otwarte podczas ładowania słuchawek.

Canon Pixma MG5220: Skanowanie bez atramentu

Canon Pixma MG5220: Skanowanie bez atramentu

Jak włączyć skanowanie w Canon Pixma MG5220, gdy brakuje atramentu.

5 powodów, dla których Twój laptop się przegrzewa

5 powodów, dla których Twój laptop się przegrzewa

Poznaj możliwe przyczyny przegrzewania się laptopa oraz wskazówki, jak temu zapobiegać i utrzymać urządzenie w chłodzie.

Jak naprawić błąd GeForce Now kod 0xC272008F

Jak naprawić błąd GeForce Now kod 0xC272008F

Przygotowujesz się na wieczór gier, a będzie to duży wieczór – właśnie odebrałeś „Star Wars Outlaws” w serwisie GeForce Now. Odkryj jedyny znany sposób na naprawę błędu GeForce Now kod 0xC272008F, aby móc znowu grać w gry Ubisoftu.

Podstawy drukowania 3D: Wskazówki dotyczące utrzymania drukarki 3D

Podstawy drukowania 3D: Wskazówki dotyczące utrzymania drukarki 3D

Utrzymanie drukarek 3D jest bardzo ważne, aby uzyskać najlepsze wyniki. Oto kilka ważnych wskazówek, które warto wziąć pod uwagę.

Jak znaleźć adres IP drukarki

Jak znaleźć adres IP drukarki

Masz problem z ustaleniem, jaki adres IP ma twoja drukarka? Pokażemy ci, jak to zrobić.

Podstawy Druku 3D: Lista Kontrolna Utrzymania, Którą Musisz Przeczytać

Podstawy Druku 3D: Lista Kontrolna Utrzymania, Którą Musisz Przeczytać

Zachowanie sprzętu w dobrym stanie jest kluczowe. Oto kilka przydatnych wskazówek, aby utrzymać swoją drukarkę 3D w doskonałym stanie.

Jak używać AirPods z telefonami Samsung

Jak używać AirPods z telefonami Samsung

Jeśli zastanawiasz się nad zakupem AirPods do swojego telefonu Samsung, ten przewodnik na pewno pomoże. Najważniejsze pytanie to, czy oba urządzenia są ze sobą kompatybilne i odpowiedź brzmi: tak!

Co to jest DHCP?

Co to jest DHCP?

Kiedy łączysz się z siecią, zazwyczaj masz adres IP przypisywany automatycznie przez router dzięki usłudze DHCP.

Jak uruchomić dwa komputery na jednym monitorze?

Jak uruchomić dwa komputery na jednym monitorze?

Przestrzeń może być na wagę złota. Dowiedz się, jak połączyć dwa komputery za pomocą jednego wyświetlacza. Poznaj najlepsze rozwiązania.