Qué sucede cuando abrimos Arduino IDE y compilamos?

Al encender el IDE se crea en /tmp una carpeta “untitled...tmp” con nuestro archivo sketch con la fecha actual por ej: sketch_nov01a.

Pero al compilar un Sketch vacio, se nos crean 2 carpetas más en /tmp:

1. “sketch_nov01a.ino.cpp” que es nuestro sketch convertido a cpp por el compilador.

2. “sketch_nov01a.ino.cpp.d” Un archivo .d con la lista de todos los archivos de código fuente que se van a incluír.

3. “sketch_nov01a.ino.cpp.o” el programa compilado.

–> Archivo “includes.cache”.

–> Archivo “sketch_nov01a.ino.eep”.

–> Archivo “sketch_nov01a.ino.elf”.

–> Archivo “sketch_nov01a.ino.hex”.

–> Archivo “sketch_nov01a.ino.with_bootloader.hex”.


Una vez compilado nuestro Sketch el programa de salida “sketch_nov01a.ino.cpp.o” es linkeado junto a la librería estática “core.a” comparando que librerías se usan en nuestro programa para excluír las no necesarias. Luego nuestro sketch es linkeado nuevamente contra esta combinación para suprímir las librerías incluídas reduciendo considerablemente el tamaño final de nuestro Sketch, convirtiéndolo a hexadecimal solo con las librerías necesarias quedando este archivo .hex listo para ser cargado a nuestra placa Arduino.

Una vez cargado nuestro Sketch todo esto desaparece.

Nuestro Arduino IDE trabaja con los lenguajes de programación C y C++ mediante el Compilador “avr-gcc and avr-g++” pero no podemos usar la totalidad del lenguaje C ni del lenguaje C++ Mejor Info aca: “Compilador avr gcc g++

Para usar completamente C++ podemos usar la librería: 

Standard C plus plus descargando la librería e instalando desde la opción Programa -> Incluír Librerías -> Añadir Librería .ZIP

Descargá la librería: