Компилятор BCC
Или проще. Как заставить компилятор обьявить переменныю как внешнюю.
Вот пример
/* main.c */
static int variable;
/* ... */
int main()
{
/* ... */
}
/* source.c */
extern int variable;
int func()
{
variable=123;
}
Так вот при линковании этих двух откопмилированых файлов отн говорит что переменная variable, не видна файлу source.c
[ компилирую bcc линкую ld86]
Пробовал variable оъявить без static?
Внешняя переменная не может быть static
Цитата:
Originally posted by Tommy
Кто подскажет, где найти хорошее руководство по синтаксису компилятора BCC или просто руководство.
Или проще. Как заставить компилятор обьявить переменныю как внешнюю.
Вот пример
/* main.c */
static int variable;
/* ... */
int main()
{
/* ... */
}
/* source.c */
extern int variable;
int func()
{
variable=123;
}
Так вот при линковании этих двух откопмилированых файлов отн говорит что переменная variable, не видна файлу source.c
[ компилирую bcc линкую ld86]
Кто подскажет, где найти хорошее руководство по синтаксису компилятора BCC или просто руководство.
Или проще. Как заставить компилятор обьявить переменныю как внешнюю.
Вот пример
/* main.c */
static int variable;
/* ... */
int main()
{
/* ... */
}
/* source.c */
extern int variable;
int func()
{
variable=123;
}
Так вот при линковании этих двух откопмилированых файлов отн говорит что переменная variable, не видна файлу source.c
[ компилирую bcc линкую ld86]
Статическая переменная всегда является локальной, то есть за пределами файла не видна. От просто локальной она отличается только тем, что если она объявлена внутри функции, то сохраняет значение между вызовами этой функции.
Поэтому внешнюю переменную объявляйте в одном файле без static, а во всех остальных файлах, где она нужна - с extern.