Co to jest ciąg kompilacji systemu Windows?
Jest to zestaw znaków, który jednoznacznie identyfikuje kompilację systemu Windows.
Co to jest kompilacja? ...
Kompilacja odnosi się do budowania rozwiązania. To znaczy: kompilowanie kodu źródłowego w kod obiektowy i łączenie kodu obiektowego w wykonywalny kod maszynowy. Jest to produkt końcowy do analizy, projektowania i programowania. Może to jednak nie być produkt końcowy, ponieważ może to zostać kilkakrotnie poprawione, zanim to nastąpi. Kiedy tak się dzieje, jest to znane jako wersja ostateczna, wersja złota lub w przypadku oprogramowania Microsoft: RTM (wersja do produkcji).
Ostatecznie kompilacja jest rozwiązaniem problemu, który można rozwiązać w oprogramowaniu! Dlatego jest bardziej znany jako oprogramowanie. W tym przypadku jest to oprogramowanie systemu Windows - system operacyjny, który najprawdopodobniej działa teraz na komputerze i sprawia, że jest użyteczny. Dzisiejsze dzieci nazywają to wszystko „aplikacjami”, pierwotnie krótką formą „aplikacji” lub „oprogramowania aplikacyjnego”, ale teraz nabiera także innych znaczeń. Grupy po prostu nazywają to „programami”. Aby powtórzyć szwedzkie przysłowie, „ukochane dziecko ma wiele imion”.
To także nazwa corocznej konferencji programistów Microsoft.
Jak odczytać ciąg kompilacji w systemie Windows?
Ciąg kompilacji jest przechowywany wewnętrznie jako wartość ciągu w rejestrze systemu Windows. Istnieją dwa rodzaje ciągów kompilacji, o których należy pamiętać. Jeden nazywa się po prostu ciągiem kompilacji i zawiera tylko numer kompilacji, więc jest tylko liczbowy. Drugi jest czasem nazywany ciągiem pełnej kompilacji, ponieważ zawiera także nazwę gałęzi i czas kompilacji, a raczej sygnaturę czasową kompilacji.
Poniższy klucz w rejestrze systemu Windows zawiera pełny ciąg kompilacji uruchomionego systemu.
HKLM\Software\Microsoft\Windows NT\CurrentVersion
Istnieją tutaj dwie interesujące zmienne:
BuildLab: 10240.th1.150729-1800
BuildLabEx: 10240.16412.amd64fre.th1.150729-1800
Jakie jest znaczenie łańcucha kompilacji?
Ogólnie ciąg kompilacji zawiera następujące segmenty: wersja główna, wersja podrzędna, numer kompilacji, nazwa oddziału, data kompilacji, czas kompilacji.
Ogólnie schemat wygląda mniej więcej tak:
[major].[minor].[build].[branch].[date]-[time]
Zbadam teraz kilka przykładów.
- 6.4.9879.fbl_release.141103-1722
Tutaj główna wersja to 6, mniejsza wersja to 4, numer kompilacji to 9879. Nazwa oddziału to fbl_release
. Został zbudowany 3 listopada 2014 roku, o godzinie 17:22 czasu lokalnego.
- 10.0.10014.winmain_prs.150205-1859
Główna wersja tutaj to 10, mniejsza wersja to 0, numer kompilacji to 10014. Jest to jedna z pierwszych kompilacji systemu Windows, która otrzymała numer wersji głównej 10. Microsoft przerzucił numer wersji głównej z 6 na 10 tylko jedna kompilacja wcześniej (kompilacja 10009) . To właśnie dało nazwę Windows 10. Nazwa oddziału to winmain_prs
i jest to uważane za odgałęzienie główne. Został zbudowany 5 lutego 2015 r., O godzinie 18:59 czasu lokalnego.
- 10.0.10240.16384.th1.150709-1700
Mamy tutaj wersję główną 10, wersję podrzędną 0 i numer kompilacji 10240. Nie jestem do końca pewien, co oznacza 16384. Liczba ta pojawia się w ciągach kompilacji zarówno Windows 8.1, Windows 8, Windows 7, jak i Windows Vista, gdy jest to kompilacja RTM lub prawie RTM. Nazywam to „magicznym numerem”. Ale wydaje mi się, że jest to pewnego rodzaju „mikro-kompilacja” lub subwersja kompilacji. Ten został zbudowany 9 lipca 2015 r., 20 dni przed ogólną dostępnością systemu Windows 10. Został przekazany testerom niejawnych testerów systemu Windows 15 lipca, a zaczął wdrażać 29 lipca dla tych, którzy zarezerwowali bezpłatną kopię uaktualnienia systemu Windows 10.
- BuildLab: 10240.th1.150729-1800
- BuildLabEx: 10240.16412.amd64fre.th1.150729-1800
Właśnie tego używam do wpisania tej odpowiedzi. Jest to również kompilacja RTM, ponieważ jest to kompilacja 10240. Ale, jak widać od daty kompilacji, ta jest w rzeczywistości bardziej niż poprzednia, która została przekazana testerom 15 lipca. Spójrz na datę! Napisano 29 lipca 2015 r. To jest data wydania systemu Windows 10! I spójrz na magiczną liczbę! To 16412! Porównaj to z 16384. Tak więc wiem, że jest to późniejsze wydanie.
Wartość BuildLabEx zawiera nieco więcej informacji niż poprzednie przykłady. Zawiera magiczną liczbę lub subwersję kompilacji oraz nazwę architektury procesora. Tak więc w tym przypadku jest to AMD64, znany również jako EM64T lub Intel 64, czyli 64-bitowy procesor. „Fre” prawdopodobnie oznacza „wolne”, to znaczy: jądro produkcyjne, w przeciwieństwie do „sprawdzonego” jądra programistycznego.
Rozbudowany schemat wygląda mniej więcej tak:
[major].[minor].[build].[subversion].[architecture].[branch].[date]-[time]
Ale jakie jest znaczenie nazw oddziałów? ...
- winmain_prs
- fbl_impressive
- fbl_awesome
- fbl_release
- th1
Jest winmain_prs
to „główna gałąź Windows”. Jest to główna, stabilna i gotowa do wydania gałąź, z której opracowywane są wszystkie poprzednie i przyszłe wersje systemu Windows (przynajmniej w przypadku rodziny Windows NT). „PRS” może oznaczać partnerów lub produkcję gotową i stabilną. Naprawdę zgaduję! W sieci nie ma zbyt wielu informacji na ten temat.
Jestem całkiem pewien, że „fbl” oznacza „przyszłą kompilację”. Są to prace w toku, niestabilne gałęzie. Podchodzą pod uroczymi nazwami, takimi jak „imponujące”, „niesamowite” i „wydanie” (ostatnie nie tak słodkie). Myślę, że „imponujące” i „niesamowite” są używane do dodawania nowych funkcji, podczas gdy „release” służy do debugowania i stabilizacji przed odwrotnym zintegrowaniem z główną gałęzią.
Gałąź „th1” jest nowa. Nie jestem pewien, co to znaczy. Ale wiem, że tylko wersja RTM wisi na tej gałęzi. Może to być jakiś wskaźnik zmiany modelu wydania systemu Windows. Mam na myśli przejście na Windows jako usługę.
Aktualizacja: Kompilacja 10525 została niedawno wydana w gałęzi „th2”. „Th” jest najwyraźniej skrótem od „progu”, który jest kryptonimem dla Windows 10. „th1” wydaje się być ogólnodostępną wersją publiczną, podczas gdy „th2” jest odgałęzieniem wersji z podglądem informacji poufnych.
Dlaczego ciągi budowania są przydatne?
Pozwalają one na dokładną identyfikację kompilacji systemu Windows, aż do gałęzi i czasu kompilacji. To sprawia, że śledzenie małych zmian jest bardzo łatwe, ponieważ każda zmiana w kodzie, nawet niewielka, która zostaje skompilowana, połączona, zbudowana i wydana, otrzymuje także nowy ciąg identyfikujący kompilację. Ciągi budowania są najbardziej przydatne dla testerów wersji beta. Ponieważ drobne i częste zmiany w kodzie są wprowadzane podczas fazy testowej cyklu programowania.
Po wydaniu ostatecznej wersji ciągi pełnej kompilacji stają się mało interesujące. Zamiast tego najważniejszą rzeczą jest numer główny, podrzędny i numer kompilacji. Pomaga to zidentyfikować „wersję” działającego systemu Windows. Tego używają aplikacje Windows innych firm do identyfikowania wersji systemu Windows, na którym są instalowane lub uruchamiane. Różni się od nazwy marketingowej Windows, takiej jak „Windows XP” lub „Windows Vista”.