Miro una pcboard y veo algunos dispositivos de montaje en superficie, algunas resistencias y condensadores y leds. ¿Eso significa que debido a que una de esas placas es una tarjeta de video, todas las tarjetas con resistencias y capacitores y múltiples capas y trazados son todas tarjetas de video? No
Aquí hay otro ejemplo, esta página web utiliza el alfabeto inglés y las palabras en inglés. Entonces, ¿el sitio web del New York Times hace que este sitio web sea el New York Times? No, solo comparten el mismo alfabeto e idioma, pero son completamente diferentes.
C es un lenguaje de programación de propósito general que resume el conjunto de instrucciones debajo de él. Se puede usar para aplicaciones simples, se puede usar para crear sistemas operativos diferentes e incompatibles entre sí, se puede usar para crear videojuegos, etc. Todos los cuales utilizan el mismo lenguaje C básico, algunas funciones y construcciones comunes en C, así como Las llamadas a funciones que han creado son específicas de la aplicación de destino. Para cada una de esas plataformas que mencionas u otras, puede haber un conjunto de funciones que alguien elija crear. Al igual que un puñado de personas hasta ahora, incluso yo, le he dado la misma respuesta, pero la han escrito de otra manera. Tome 100 programadores, aíslelos entre sí y asigne una tarea de programación para resolver un problema particular, sin limitar por completo su libertad de programación, y obtendrá de 1 a 100 soluciones diferentes, incompatibles entre sí, probablemente no 1, sino varias. temas comunes dependiendo de su entrenamiento y experiencia, y luego los nombres de variables y nombres de funciones que como conjunto probablemente sean únicos para cada individuo. Tome los mismos tableros de los que ya está hablando y encontrará que ciertamente tengo mi propio código C que es incompatible (con las funciones arduino) para ejecutar en ellos, como con muchos otros, así como incompatible con otras plataformas. Esa es la belleza de la programación incrustada completa, no está limitado de ninguna manera, no tiene que vivir dentro de las bibliotecas estándar de los sistemas operativos o el conjunto limitado de reglas de guis, etc. libertad total.
Puedes elegir, y un alto porcentaje de personas lo hacen, jugar en el arenero de otra persona en lugar de crear el tuyo propio, lo que significa que debes usar el arduino gui y sus bibliotecas de C.
Puede tomar la misma PC y ejecutar diferentes versiones de windows it, linux, bsd y una lista de otros sistemas operativos que, en algún nivel, usan C pero cuyas funciones son incompatibles entre sí. El mismo hardware y C incompatible, que se extiende a un hardware diferente, en el mismo idioma, puede tener un código compatible o incompatible. El lenguaje de ninguna manera los hace compatibles.
C se usa en estas plataformas integradas porque esa es la práctica común, no hay otro lenguaje que pueda reemplazar a C para esto. El primer paso para un nuevo procesador es el ensamblaje, por supuesto, casi siempre es C el siguiente, y quizás otros si es lo suficientemente potente como para ejecutar un sistema operativo (Linux, BDS, etc.). C se inventó y esperaba resolver el problema en el momento de portar el código a través de plataformas, y siempre que tenga un sistema operativo que sea el caso, un compilador compatible con C que cree un código que FUNCIONA EN UN SISTEMA OPERATIVO hará el archivo C estándar. Operaciones y printf y cosas así. Pero el tema del metal es una historia diferente: no hay un sistema operativo. A menudo no existe la noción de un sistema de archivos ni una pantalla, pero por la práctica común es probable que haya un compilador de C que, en sus raíces, convierta a C en un lenguaje ensamblador específico. Por lo tanto, engañamos la idea original de que C es un puente entre las diferentes computadoras para ayudar a la portabilidad del código, y tomamos decisiones personales de diferentes bibliotecas incompatibles para un objetivo específico.