История изменений
Исправление Waterlaz, (текущая версия) :
$ cat tst.c
#include <stdio.h>
int x;
int g();
int f(){
x++;
return x;
}
int main(){
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
}
$ cat a.c
int x;
int g(){
x++;
return x;
}
$ gcc a.c tst.c
$ ./a.out
1
2
3
4
5
Поблажки линкера?
Исправление Waterlaz, :
$ cat tst.c
#include <stdio.h>
int x;
int g();
int f(){
x++;
return x;
}
int main(){
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
}
$ cat a.c
int x;
int g(){
x++;
return x;
}
$ gcc a.c tst.c
$ ./a.out
1
2
3
4
5
Поблажки линкера?
Исходная версия Waterlaz, :
$ cat tst.c
#include <stdio.h>
int x;
int g();
int f(){
x++;
return x;
}
int main(){
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
printf("%d\n", g());
printf("%d\n", f());
}
$ cat a.c
int x;
int g(){
x++;
return x;
}
$ gcc a.c tst.c
$ ./a.out
1
2
3
4
5
Поблажки линкера?