econjack:
Is that wrong?
I believe it is. I’ve always understood that files -- or compilation units (fancy Computer Science vernacular) -- are compiled as stand-alone entities. The only connection between them is the Linker. I’m thinking that’s why you need the ‘extern’ to begin with. Like I said, it tells the compiler the variable’s type but the Linker will take care of supplying its absolute address.
This is stuff I mostly remember from my C coding on Unix days with manually generated makefiles. But, beyond these basics, my knowledge of Tool Chain specifics gets kind of shaky.