Temario del curso
- ¿Qué es un sistema embebido?
- Definición sencilla
- Algunos hitos históricos
- Características principales
- ¿Por qué usar C++?
- Comparación con el lenguaje C
- C: un subconjunto casi total de C++
- Rendimiento comparado
- Funcionalidades adicionales gratuitas ofrecidas por C++
- ¿Por qué no utilizar C++?
- Clases
- Variables de miembro
- Variables instancia
- Variables estáticas de clase
- Funciones de miembro
- Funciones instancia
- Funciones estáticas de clase
- Métodos implícitos
- Constructor
- Inicialización de objetos
- Delegación del constructor
- Destructor
- Operador de asignación por copia
- Constructor
- Semántica de movimiento: evitar copias profundas innecesarias
- El uso del struct en C++
- Paquetes y espacios de nombres
- Variables de miembro
- Herencia
- Introducción
- Aplicación práctica
- Impacto en el rendimiento
- Heredad múltiple
- Herencia virtual
- Polimorfismo
- Introducción
- Función virtual
- Destructor virtual
- Aplicación práctica
- Información de tipo en tiempo de ejecución, RTTI
- Rendimiento asociado
- Plantillas
- Introducción a las plantillas
- Plantillas de función
- Plantillas de clase
- Plantillas variádicas
- El problema del exceso de código generado
- Estrategias para su implementación
- Programación mediante metaprogramación con plantillas
- Plantillas frente a herencia: ¿cuál es la mejor opción?
- Manejo de errores
- Mecanismos de excepción
- Problemas de rendimiento asociados
- Cómo implementarlos adecuadamente
- Código en línea (inline)
- ¿Cuándo conviene usarlo?
- Estrategias recomendadas
- Inicio del sistema
- Inicio del sistema operativo embebido
- La parte correspondiente a C
- La parte correspondiente a C++
- Biblioteca estándar
- La Biblioteca Estándar de Plantillas, STL
- La biblioteca iostream
- Principales mejoras incorporadas en C++11 a la STL:
- Semántica de movimiento
- Plantillas variádicas
- Soporte para concurrencia
- Gestión de memoria
- El modelo de memoria en C++
- Tipos definidos por stdint
- Tipos atómicos y sus operaciones correspondientes
- Estrategias prácticas de gestión
- Uso de variables para almacenamiento dinámico
- Función placement new
- Gestión de memoria definida por el usuario
- El modelo de memoria en C++
- Interacción entre C y C++
- Manejo de nombres según las reglas de cada lenguaje (name mangling)
- Inicialización estática de variables
- Asignación dinámica de memoria
- Estructuras de datos utilizadas:
- Tipos POD – Datos simples y tradicionales en C
- Patrones de diseño recomendados
- RAII: Obtención del recurso, inicialización correspondiente
- Acceso a memoria mapeada por hardware
- Manejo adecuado de interrupciones
- Inicialización correcta de objetos estáticos en tiempo de ejecución
Requerimientos
No se requieren requisitos específicos para asistir a este curso.
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 4350 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
Reseñas (3)
Explicación detallada, reiteración de los puntos de manera sutil que realmente hizo que el conocimiento quedara muy bien asimilado. La disposición de Rod a doblegar la información sobre las preguntas poco comunes que planteamos para asegurarse de que sus respuestas fueran 100% correctas. Además, su interés en discutir los pros y contras de diferentes estilos de codificación, lo que nos permitió no solo aprender a usar C++ de la manera prevista, sino también entender por qué debía hacerse de esa forma.
Nick Dillon - cellxica Ltd
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática
Disfruté del tiempo que nos dedicamos a resolver los ejercicios. Esto fue muy útil, ya que nos permitió pasar un buen rato pensando en nuestras soluciones e implementándolas.
Valeriu - Siemens
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática
Los detalles sobre cómo el compilador se comporta dependiendo del uso de la sintaxis. Las secciones de "Quiz" son muy estimulantes
Andrea Pomatto
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática