"extern" on a function prototype is useless, since function prototypes are extern by default (unless they're inline). Notice that in your example, if you remove "extern" from your example it...