typedef struct __FILE FILE;
这句意思是:重新定义了一个和struct _FILE类型一样的类型FILE;他们的类型一样。
然后用extern:
extern FILE __stdin, __stdout, __stderr;
定义了三个 FILE类型的变量: __stdin, __stdout, __stderr;
这些变量都是先声明的,定义放在后面,是先声明后定义的变量。
同样
extern FILE *__aeabi_stdin, *__aeabi_stdout, *__aeabi_stderr;
定义了三个指针 __aeabi_stdin,
_aeabi_stdout, __aeabi_stderr
他们也是先声明后定义的变量,定义在后面。或者是声明在其他板块中的变量,
既然想要一用别的文件中的变量,就需要声明一下。