Heh. Actually what #include <Arduino.h>
causes is that setup
and loop
are declared as extern "C"
so they don’t get the C++ name mangling! The startup assembler files reference the functions by the unmangled name. This one also works
extern "C" void setup()
{
}
extern "C" void loop()
{
}