Код: Выделить всё
static char *p[]={"abc","def"};
x.c:
Код: Выделить всё
#include <stdio.h>
extern char *p[];
int main(){
printf("%s\n%s\n", p[0], p[1]);
return 0;
}
пробую скомпилить:
Код: Выделить всё
[adav@localhost test]$ gcc y.c x.c
/tmp/ccXlJFzX.o: In function `main':
x.c:(.text+0xb): undefined reference to `p'
x.c:(.text+0x11): undefined reference to `p'
collect2: ld returned 1 exit status
[adav@localhost test]$
если убираю static в первом файле, все работает. но этот символ должен быть static, это от меня не зависит!
Римляне, сограждане, друзья! ЧЯДНТ?