En desarrollo · Las características, versiones y compatibilidad se informan por dispositivo y versión.

Wiki rogpOS

C y shell en rogpOS

Dónde interviene cada idioma, cómo reducir el riesgo y qué controles protegen el sistema.

C y Shell no compiten por el mismo espacio en rogpOS. C admite la ruta interactiva y de larga duración. Shell organiza tareas breves de puesta en marcha, montaje y operación. La frontera es una elección de seguridad y mantenimiento.

Cuando usar C

  • bucle gráfico y entrada en tiempo real;
  • estado persistente durante la sesión;
  • navegación, componentes y renderizador;
  • indexar o analizar con estructuras claras y límites conocidos;
  • crear procesos cuando los argumentos deben permanecer separados y verificables.

El lanzador utiliza C11, SDL2, SDL2_image y SDL2_ttf. La separación entre pantallas, componentes, núcleo de integración y UI impide que una pantalla controle archivos o procesos por sí sola.

Cuando usar cáscara

  • preparar el entorno y los puntos de reunión;
  • iniciar o finalizar un servicio simple;
  • seleccione una configuración declarativa;
  • ejecutar una secuencia corta, legible y fácil de deshacer;
  • conecte herramientas existentes sin convertir el script en una aplicación permanente.

Cuando el script pasa a construir comandos a partir de texto, mantener un estado complejo o analizar formatos grandes, C o una herramienta dedicada proporciona límites más claros.

Mejores prácticas de Shell

  • iniciar scripts Bash controlados con set -euo pipefail; utilizar set -eu cuando el intérprete es POSIX sh;
  • encerrar las expansiones entre comillas y pasar argumentos como argumentos, sin juntar una línea para eval;
  • utilizar mktemp para archivos temporales y trap restaurar la condición y eliminar los desechos;
  • declarar el intérprete correcto en el asunto;
  • manejar códigos de salida y escribir mensajes que indiquen el paso que falló;
  • validar con bash -n o sh -n y ShellCheck cuando esté disponible;
  • mantener scripts de inicio con operaciones start, stop, restart y códigos coherentes.

Buenas prácticas para C

  • compilar con C11, -Wall y -Wextra; los módulos críticos también utilizan advertencias más estrictas;
  • mantener limitados los buffers y cachés;
  • comprobar rendimientos, tamaños, propiedad y ciclo de vida de los recursos;
  • preferir argv explícito a una cadena de shell;
  • separar funciones y procesos de E/S puras;
  • utilizar desinfectantes en las pruebas de host, sin confundir esto con las pruebas de hardware;
  • Pruebe el contrato público de módulos, no detalles internos frágiles.

Gates antes de integrarse

El proyecto combina verificación de arquitectura, pruebas de características y temas, análisis de shell, compilación de iniciador e inspección de rootfs. La inserción previa local evita que un archivo no válido avance, pero aún así no reemplaza las pruebas en el R36S, R36S Plus o R40X Pro Max correspondiente.

Una regla sencilla

Si la tarea pertenece al marco, foco, estado de la interfaz o una sesión larga, tiende a C. Si prepara el entorno y termina, tiende a descascararse. Si requiere una concatenación compleja de comandos o datos no confiables, deténgase y vuelva a dibujar el límite.

Referencias oficiales