detalle sobre extern

Iniciado por bash, 24 Febrero 2016, 16:06 PM

0 Miembros y 1 Visitante están viendo este tema.

bash

Saludo a todos !!

estoy aprendiendo alguinas coasa pero me he confundido con algo que realmetne me tiene loco a ver si alguien por favor me aclara :


Código (cpp) [Seleccionar]
#ifdef __cplusplus
extern "C"
{
#endif
#include<...>

#ifdef __cplusplus
}
#endif


para q
gracias por responder mis dudas

MAFUS

Que me corrijan los chicos de C++ si me equivoco.

C++, debido a la sobrecarga de métodos, adorna el nombre de las funciones según el número de parámetros, su tipo y el tipo de retorno. Lo que el programador escribe en el código fuente a lo que el compilador hace en el código objeto son cosas diferentes.

Para hacer compatible las funciones que se escriban con un compilador de C++ para que las use un compilador de C existe esta estructura extern "C" que lo que hace es mantener el nombre de la función en el archivo objeto tal cual se ha escrito en el archivo fuente, así C u otro lenguaje que sea compatible con éste, cómo es python, por ejemplo, puede acceder a la función.