От IDE это никак не зависит.Arduino IDE всё это делает за вас. Но это роняет быстродействие и генерит кучу излишнего кода.
Довольно интересная метафора, но ничего общего с кешированием не имеет.потом берет цпп файлы и компилирует их в промежуточный код для кеширования