Как правильно использовать ключевое слово extern в C
extern
сообщает компилятору, что c эти данные где-то определены c и будут связаны с компоновщиком.
С c помощью ответов здесь и разговоров c с несколькими друзьями приведен c практический пример использования c extern
.
Пример 1 -, чтобы показать ловушку:
stdio.h
:
int errno;
myCFile1.c
:
#include
// Code using errno...
myCFile2.c
:
#include
// Code using errno...
Если c myCFile1.o
и myCFile2.o
связаны, каждый из файлов c c имеет отдельные копии errno
. Это c проблема, поскольку один c и тот же errno
должен быть доступен c во всех связанных файлах.
Пример 2 - исправление.
stdio.h
:
extern int errno;
stdio.c
:
int errno;
myCFile1.c
:
#include
// Code using errno...
myCFile2.c
:
#include
// Code using errno...
Теперь, если c и myCFile1.o
, и MyCFile2.o
связаны компоновщиком, они c оба будут указывать на один c и тот же errno
. Таким образом, решая c реализацию с помощью extern
.
c
Как правильно использовать ключевое слово extern в C
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.