extern storage class | External storage class specifier |
storage-class-specifier := extern linkage-specification ::= extern string-literal { [declaration-seq] } | extern string-literal declaration |
The extern storage class specifier marks a declaration as having external linkage. An external object or function can be defined in one file and used in other files.
The extern keyword can also be used to specify language linkage: you provide the language name as a string literal. The "C++" language is the default. "C" linkage is also supported. Other languages are implementation-defined.
extern "C" int callable_from_C(int x, int y); extern void func(int); extern const double pi;
declaration, static, type, Chapter 2