0Pricing
Zig Academy · Lekcja

Czas kompilacji a czas wykonywania

Dowiedz się, co Zig może obliczyć przed uruchomieniem programu.

Czas kompilacji a czas wykonywania to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.

Dwa momenty w jednym programie

Kod Zig działa w dwóch światach: rzeczy dziejących się podczas kompilacji oraz rzeczy dziejących się podczas działania programu. Zrozumienie tego podziału pozwala wykorzystać możliwości Zig. ⏱️

Czas działania jest znajomy

Czas działania obejmuje wszystko, co dzieje się podczas wykonywania zbudowanego pliku binarnego: dane wejściowe użytkownika, odczyty plików oraz wartości, których nie można znać z wyprzedzeniem.

Czas kompilacji następuje wcześniej

Czas kompilacji obejmuje pracę wykonywaną przez kompilator Zig, zanim w ogóle powstanie plik binarny. Niektóre wyrażenia są w tym momencie całkowicie obliczane.

Stałe często są obliczane z wyprzedzeniem

Proste wyrażenie ze znanymi wartościami może zostać obliczone podczas kompilacji. Zig redukuje je do jednej stałej w końcowym pliku binarnym.

const minutes = 60 * 24;

comptime_int nie ma stałej szerokości

Samodzielny literał całkowity zaczyna jako comptime_int. Ma dowolną precyzję, dopóki nie przypiszesz go do typu o określonym rozmiarze, takiego jak i32.

const big = 1_000_000_000_000;

Słowo kluczowe comptime

Umieść comptime przed wyrażeniem, aby wymusić jego obliczenie podczas kompilacji. Jeśli nie będzie to możliwe, otrzymasz błąd.

comptime {
    const x = 2 + 3;
}

Wartości czasu działania pozostają w czasie działania

Wartość odczytana z danych wejściowych jest znana dopiero podczas działania programu. Nie można polecić kompilatorowi obliczenia jej w czasie kompilacji.

comptime może wykonywać rzeczywistą logikę

Czas kompilacji to nie tylko matematyka. Zig może wykonywać pętle i wywoływać funkcje w czasie kompilacji, o ile wszystkie dane wejściowe są wtedy znane.

const total = comptime sum(10);

Dlaczego przenosić pracę do czasu kompilacji

Obliczanie podczas kompilacji oznacza zerowy koszt w czasie działania. Wynik zostaje zapisany w pliku binarnym, więc program nie musi obliczać go ponownie.

Jeden język dla obu faz

Ta sama składnia Zig służy obu fazom. Nie ma osobnego języka makr: kod czasu kompilacji to po prostu zwykły Zig uruchamiany wcześniej.

Błędy wykrywane przed uruchomieniem

Ponieważ Zig wcześnie oblicza znany kod, wiele pomyłek ujawnia się jako błędy kompilacji. Naprawiasz je, zanim program w ogóle zostanie uruchomiony.

Szybkie sprawdzenie

Definiujesz stałą równą 7 razy 24. Kiedy to mnożenie zostanie wykonane?

Podsumowanie

Zig dzieli pracę na czas kompilacji i czas działania. Znane wartości można obliczyć wcześniej bez dodatkowego kosztu, a nieznane muszą poczekać na wykonanie programu. 🎯

Często zadawane pytania

Czy lekcja „Czas kompilacji a czas wykonywania” jest bezpłatna?

Tak — pełny tekst „Czas kompilacji a czas wykonywania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Czas kompilacji a czas wykonywania”?

Dowiedz się, co Zig może obliczyć przed uruchomieniem programu. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Zig Academy?

Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Czas kompilacji a czas wykonywania”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?

Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czas kompilacji a czas wykonywania
  2. Parametry i wartości comptime
  3. Typy są wartościami comptime
  4. inline for i rozwijanie pętli
← Powrót do Zig Academy