在公司的播放器代码里找到一个文件,发现里面的函数是这样定义的:
static int mem_write(b , in , inl)
BIO *b; //一个结构体指针
char *in;
int inl;
{
... //具体就不写了,用到了上面的变量
}
我发现这个代码是可以用公司的gcc编译通过的(具体是哪个版本我不清楚,因为我刚来的),此外,我发现如果我在公司的代码里没有将变量声明写在函数体中开头的位置,而直接在需要的时候直接上定义,那么在编译时会报错的(用的是gmake -f makefile.mk指令),报错会显示声明前有可执行语句,请问这是编译器控制的,还是用makefile或者其他什么控制的?