Por ejemplo:C & C++ predeterminado vinculación variable global, múltiples declaración y definición del problema
code1.c/.cpp
int a;
// ... and so on
code2.c/.cpp
int a;
int main(void) {
return 0;
}
ir a compilar:
$gcc code1.c code2.c # this is fine
$
$g++ code1.cpp code2.cpp # this is dead
/tmp/ccLY66HQ.o:(.bss+0x0): multiple definition of `a'
/tmp/ccnIOmPC.o:(.bss+0x0): first defined here
collect2: ld returned 1 exit status
¿Existe alguna diferencia de vinculación variable global entre C & C++?
1 se les pide amablemente – Stuti
Puede evitar el problema en C++ utilizando cualquiera 'static' o (preferiblemente) un espacio de nombres sin nombre, pero ese no es su pregunta. No estoy lo suficientemente familiarizado con las reglas de vinculación C (a diferencia de C++) para responder eso, me temo. – Sven
http://blogs.oracle.com/ali/entry/what_are_tentative_symbols –