Ich schaue auf eine Leiterplatte und sehe einige Geräte zur Oberflächenmontage, einige Widerstände, Kondensatoren und LEDs. Bedeutet das, dass alle Karten mit Widerständen und Kondensatoren sowie mehreren Schichten und Leiterbahnen Grafikkarten sind, da eine dieser Karten eine Grafikkarte ist? Nee.
Hier ist ein weiteres Beispiel: Diese Webseite verwendet das englische Alphabet und englische Wörter. Also, macht die New York Times Website, macht das diese Website zur New York Times? Nein, sie haben nur dasselbe Alphabet und dieselbe Sprache, sind aber ansonsten völlig unterschiedlich.
C ist eine Allzweck-Programmiersprache, die den darunter liegenden Befehlssatz abstrahiert. Kann für Bare Metal verwendet werden, kann verwendet werden, um verschiedene und inkompatible Betriebssysteme zu erstellen, kann verwendet werden, um Videospiele zu erstellen usw. Alle verwenden dieselbe grundlegende C-Sprache, einige gängige C-Funktionen und -Konstruktionen sowie Von ihnen erstellte Funktionsaufrufe, die für die Zielanwendung spezifisch sind. Für jede dieser oder andere Plattformen, die Sie erwähnen, gibt es möglicherweise eine Reihe von Funktionen, die jemand erstellt hat. Genau wie eine Handvoll Leute, einschließlich mir, haben Ihnen die gleiche Antwort gegeben, sie aber anders geschrieben. Nehmen Sie 100 Programmierer, isolieren Sie sie voneinander und geben Sie ihnen eine Programmieraufgabe, um ein bestimmtes Problem zu lösen, ohne ihre Programmierfreiheit vollständig einzuschränken. und Sie erhalten zwischen 1 und 100 verschiedene, nicht miteinander kompatible Lösungen, wahrscheinlich nicht 1, sondern mehrere gemeinsame Themen, abhängig von ihrer Ausbildung und Erfahrung, und dann Variablennamen und Funktionsnamen, die als Satz wahrscheinlich für jede Person einzigartig sind. Nehmen Sie die gleichen Boards, über die Sie bereits sprechen, und Sie werden feststellen, dass ich mit Sicherheit meinen eigenen C-Code habe, der (mit den Arduino-Funktionen) nicht kompatibel ist, um auf ihnen ausgeführt zu werden, wie bei vielen anderen, sowie nicht kompatibel mit anderen Plattformen. Das ist das Schöne an der eingebetteten Bare-Metal-Programmierung. Sie sind in keiner Weise eingeschränkt. Sie müssen nicht innerhalb der Standardbibliotheksaufrufe des Betriebssystems oder der begrenzten Regeln usw. leben. wahrscheinlich nicht 1, sondern mehrere gemeinsame Themen, abhängig von ihrer Ausbildung und Erfahrung, und dann Variablennamen und Funktionsnamen, die als Satz wahrscheinlich für jeden Einzelnen einzigartig sind. Nehmen Sie die gleichen Boards, über die Sie bereits sprechen, und Sie werden feststellen, dass ich mit Sicherheit meinen eigenen C-Code habe, der (mit den Arduino-Funktionen) nicht kompatibel ist, um auf ihnen ausgeführt zu werden, wie bei vielen anderen, sowie nicht kompatibel mit anderen Plattformen. Das ist das Schöne an der eingebetteten Bare-Metal-Programmierung. Sie sind in keiner Weise eingeschränkt. Sie müssen nicht innerhalb der Standardbibliotheksaufrufe des Betriebssystems oder der begrenzten Regeln usw. leben. wahrscheinlich nicht 1, sondern mehrere gemeinsame Themen, abhängig von ihrer Ausbildung und Erfahrung, und dann Variablennamen und Funktionsnamen, die als Satz wahrscheinlich für jeden Einzelnen einzigartig sind. Nehmen Sie die gleichen Boards, über die Sie bereits sprechen, und Sie werden feststellen, dass ich mit Sicherheit meinen eigenen C-Code habe, der (mit den Arduino-Funktionen) nicht kompatibel ist, um auf ihnen ausgeführt zu werden, wie bei vielen anderen, sowie nicht kompatibel mit anderen Plattformen. Das ist das Schöne an der eingebetteten Bare-Metal-Programmierung. Sie sind in keiner Weise eingeschränkt. Sie müssen nicht innerhalb der Standardbibliotheksaufrufe des Betriebssystems oder der begrenzten Regeln usw. leben. Nehmen Sie die gleichen Boards, über die Sie bereits sprechen, und Sie werden feststellen, dass ich mit Sicherheit meinen eigenen C-Code habe, der (mit den Arduino-Funktionen) nicht kompatibel ist, um auf ihnen ausgeführt zu werden, wie bei vielen anderen, sowie nicht kompatibel mit anderen Plattformen. Das ist das Schöne an der eingebetteten Bare-Metal-Programmierung. Sie sind in keiner Weise eingeschränkt. Sie müssen nicht innerhalb der Standardbibliotheksaufrufe des Betriebssystems oder der begrenzten Regeln usw. leben. Nehmen Sie die gleichen Boards, über die Sie bereits sprechen, und Sie werden feststellen, dass ich mit Sicherheit meinen eigenen C-Code habe, der (mit den Arduino-Funktionen) nicht kompatibel ist, um auf ihnen ausgeführt zu werden, wie bei vielen anderen, sowie nicht kompatibel mit anderen Plattformen. Das ist das Schöne an der eingebetteten Bare-Metal-Programmierung. Sie sind in keiner Weise eingeschränkt. Sie müssen nicht innerhalb der Standardbibliotheksaufrufe des Betriebssystems oder der begrenzten Regeln usw. leben.
Sie können wählen, und ein hoher Prozentsatz der Leute spielt in einer anderen Sandbox, anstatt Ihre eigene zu bauen, was bedeutet, dass Sie die Arduino-GUI und ihre C-Bibliotheken verwenden.
Sie können denselben PC verwenden und verschiedene Versionen von Windows it, Linux, bsd und einer Wäscheliste anderer Betriebssysteme ausführen, die auf einer bestimmten Ebene C verwenden, deren Funktionsaufrufe jedoch nicht miteinander kompatibel sind. Dieselbe Hardware und inkompatibles C, das sich auf unterschiedliche Hardware und dieselbe Sprache erstreckt, können kompatiblen oder inkompatiblen Code enthalten. Die Sprache macht sie in keiner Weise kompatibel.
C wird auf diesen eingebetteten Plattformen verwendet, da dies die übliche Praxis ist. Es gibt keine andere Sprache, die C dafür ersetzen kann. Der erste Schritt für einen neuen Prozessor ist natürlich die Montage, dann ist fast immer C der nächste, dann vielleicht andere, wenn er leistungsfähig genug ist, um ein Betriebssystem (Linux, BSD usw.) auszuführen. C wurde erfunden und hoffte, das damalige Problem der Portierung von Code über Plattformen hinweg zu lösen. Solange Sie über ein Betriebssystem verfügen, das ein C-kompatibler Compiler ist, der Code erstellt, der auf einem Betriebssystem ausgeführt wird, wird die Standard-C-Datei ausgeführt Operationen und printf und solche Dinge. Aber Bare Metal ist eine andere Geschichte, es gibt kein Betriebssystem, es gibt oft keine Vorstellung von einem Dateisystem oder einer Anzeige, aber nach gängiger Praxis gibt es wahrscheinlich einen C-Compiler, der C an seinen Wurzeln in eine zielspezifische Assemblersprache verwandelt.