Patrzę na jedną płytkę drukowaną i widzę niektóre urządzenia do montażu powierzchniowego, niektóre oporniki, kondensatory i diody LED. Czy to oznacza, że ponieważ jedna z tych kart jest kartą wideo, wszystkie karty z rezystorami i kondensatorami oraz wieloma warstwami i śladami są kartami wideo? Nie.
Oto kolejny przykład, ta strona używa alfabetu angielskiego i angielskich słów. Czy więc strona z nowymi czasami w jorku, czy to czyni tę stronę z nowymi czasami w jorku? Nie, po prostu dzielą ten sam alfabet i język, ale poza tym są zupełnie inne.
C jest językiem programowania ogólnego przeznaczenia, który wyodrębnia zestaw instrukcji poniżej. Może być używany do samego metalu, może być używany do tworzenia różnych i niekompatybilnych ze sobą systemów operacyjnych, może być używany do tworzenia gier wideo itp. Wszystkie z nich używają tego samego podstawowego języka C, niektórych typowych funkcji i konstrukcji C, a także utworzone przez nich wywołania funkcji specyficzne dla aplikacji docelowej. Dla każdej wspomnianej platformy lub innych może istnieć zestaw funkcji, które ktoś postanowił utworzyć. Podobnie jak do tej pory garstka ludzi, w tym ja, dała ci tę samą odpowiedź, ale napisała ją w inny sposób. Weź 100 programistów i odizoluj ich od siebie i powierz im zadanie programowania w celu rozwiązania określonego problemu, nie ograniczając całkowicie swobody programowania, a otrzymasz od 1 do 100 różnych, niekompatybilnych ze sobą rozwiązań, prawdopodobnie nie 1, ale kilka wspólnych tematów w zależności od ich szkolenia i doświadczenia, a następnie nazwy zmiennych i nazwy funkcji, które jako zestaw są prawdopodobnie unikalne dla każdej osoby. Weź te same tablice, o których już mówisz, a przekonasz się, że z pewnością mam własny kod C, który jest niekompatybilny (z funkcjami arduino), aby działać na nich, podobnie jak wiele innych, a także niekompatybilny z innymi platformami. Na tym polega piękno programowania osadzonego na gołym metalu, nie jesteś w żaden sposób ograniczony, nie musisz mieszkać w standardowych wywołaniach bibliotek systemu operacyjnego lub ograniczonym gui zbiorem reguł itp. Pełna swoboda. prawdopodobnie nie 1, ale kilka popularnych tematów w zależności od ich szkolenia i doświadczenia, a następnie nazwy zmiennych i nazwy funkcji, które jako zestaw są prawdopodobnie unikalne dla każdej osoby. Weź te same tablice, o których już mówisz, a przekonasz się, że z pewnością mam własny kod C, który jest niekompatybilny (z funkcjami arduino), aby działać na nich, podobnie jak wiele innych, a także niekompatybilny z innymi platformami. Na tym polega piękno programowania osadzonego na gołym metalu, nie jesteś w żaden sposób ograniczony, nie musisz mieszkać w standardowych wywołaniach bibliotek systemu operacyjnego lub ograniczonym gui zbiorem reguł itp. Pełna swoboda. prawdopodobnie nie 1, ale kilka popularnych tematów w zależności od ich szkolenia i doświadczenia, a następnie nazwy zmiennych i nazwy funkcji, które jako zestaw są prawdopodobnie unikalne dla każdej osoby. Weź te same tablice, o których już mówisz, a przekonasz się, że z pewnością mam własny kod C, który jest niekompatybilny (z funkcjami arduino), aby działać na nich, podobnie jak wiele innych, a także niekompatybilny z innymi platformami. Na tym polega piękno programowania osadzonego na gołym metalu, nie jesteś w żaden sposób ograniczony, nie musisz mieszkać w standardowych wywołaniach bibliotek systemu operacyjnego lub ograniczonym gui zbiorem reguł itp. Pełna swoboda. Weź te same tablice, o których już mówisz, a przekonasz się, że z pewnością mam własny kod C, który jest niekompatybilny (z funkcjami arduino), aby działać na nich, podobnie jak wiele innych, a także niekompatybilny z innymi platformami. Na tym polega piękno programowania osadzonego na gołym metalu, nie jesteś w żaden sposób ograniczony, nie musisz mieszkać w standardowych wywołaniach bibliotek systemu operacyjnego lub ograniczonym gui zbiorem reguł itp. Pełna swoboda. Weź te same tablice, o których już mówisz, a przekonasz się, że z pewnością mam własny kod C, który jest niekompatybilny (z funkcjami arduino), aby działać na nich, podobnie jak wiele innych, a także niekompatybilny z innymi platformami. Na tym polega piękno programowania osadzonego na gołym metalu, nie jesteś w żaden sposób ograniczony, nie musisz mieszkać w standardowych wywołaniach bibliotek systemu operacyjnego lub ograniczonym gui zbiorem reguł itp. Pełna swoboda.
Możesz wybrać, a wysoki odsetek ludzi, grać w czyimś piaskownicy zamiast budować własny, co oznacza użycie arduino gui i ich bibliotek C.
Możesz wziąć ten sam komputer i uruchamiać różne wersje systemu Windows it, Linux, BSD i listę prania innych systemów operacyjnych, które na pewnym poziomie używają C, ale których wywołania funkcji są ze sobą niezgodne. Ten sam sprzęt i niekompatybilny C, który obejmuje inny sprzęt, ten sam język, może mieć zgodny lub niekompatybilny kod. Język w żaden sposób nie czyni ich kompatybilnymi.
C jest używany na tych wbudowanych platformach, ponieważ jest to powszechna praktyka, nie ma innego języka, który mógłby zastąpić C. Pierwszym krokiem dla nowego procesora jest oczywiście montaż, a następnie prawie zawsze jest C, a potem inne, jeśli jest wystarczająco wydajny, aby uruchomić system operacyjny (linux, bsd itp.). C został wynaleziony i miał nadzieję rozwiązać problem związany z portowaniem kodu między platformami, i tak długo, jak masz system operacyjny, taki jak kompilator kompatybilny z C, tworzący kod, który DZIAŁA NA SYSTEMIE OPERACYJNYM, zrobi standardowy plik C operacje i printf i takie rzeczy. Ale goły metal to inna historia, nie ma systemu operacyjnego, często nie ma pojęcia o systemie plików ani o wyświetlaniu, ale powszechną praktyką jest prawdopodobnie kompilator C, który u podstaw przekształca C w język docelowy asemblera.