考虑以下标题和同一源文件中的两个变体。
// myheader.h
#include <stdio.h>
inline void bla(){
printf("hello\n");
}
// mysource.c
#include "myheader.h"
void bla();
int main(){
bla();
}
// mysource2.c
#include "myheader.h"
extern void bla();
int main(){
bla();
}
编译正常并按预期输出hello
。那么extern
中的mysource2.c
限定符在这里添加了什么?什么时候需要?
编辑:我应该补充一点,我正在使用带有标准标志的GCC。