extern "C" - C. . ++- ++ , , extern "C++".
, , , , . foo a.cpp b.cpp. ++ . , , , . - , extern. extern "C".
, , . static . , const , , , extern.
, . , , . extern, , .
, .
int i;
extern int j;
static int k;
int const n=42;
extern int const m=99;
void foo();
extern void foo();
static void bar();
void foo(){}
void bar(){}
static void baz(){}
template<typename T> void foobar(){}
template<typename T>
static void foobaz(){}
void wibble()
{
int i;
extern int i;
}
extern "C"
{
int i2;
extern int j2;
static int k2;
int const n2=42;
extern int const m2=99;
void foo2();
static void bar2();
void foo2(){}
void bar2(){}
static void baz(){}
}
--- extern "C".
extern "C", C. , , , , .
extern "C". , --- C, foo foo, _foo . ++ foo, "" , $3fooV foo$void - , foo(void) foo(int) .. ++ , extern "C", C , .
extern "C" , extern "C", , , " extern "C"".
C struct s, struct . , extern "C" --- , C struct?