¿Cuál es el efecto de c extern en c ++?

¿Cuál es el efecto de c extern en c ++?
extern "c" es una palabra clave utilizada en el lenguaje C ++, que indica que una función o variable debe tratarse como una función C o variable. La razón es que C y C ++ usan diferentes convenciones para la función y no es posible llamar directamente a una función C ++ desde el código C.

Efecto de "c" extern en c++

El efecto de extern "c" en C ++ es que le dice al compilador que use las reglas de convención y vinculación de nombres de estilo C para las funciones y variables declaradas. Esto es necesario porque C ++ tiene diferentes reglas de nombre de nombre y vinculación que C.

Cuando declara una función o variable usando extern "c", El compilador genera un nombre de símbolo que sigue las reglas de convención y enlace de nomenclatura de C, lo que lo hace compatible con las bibliotecas C y otros programas que usan enlace C. Esto permite que los programas C ++ llamen a funciones de las bibliotecas C.

El objetivo principal del extern "c" La palabra clave es habilitar la interoperabilidad entre programas escritos en diferentes idiomas. Sin él, C ++ no podría "hablar"A programas escritos en otros idiomas como Java, C#y muchos otros. Con esta palabra clave, se puede acceder a un objeto declarado en el código C ++ mediante un programa escrito en otro idioma, reduciendo las barreras para la comunicación entre diferentes programas. Esto puede permitir que los programas escritos en diferentes idiomas tengan una funcionalidad más entrelazada, lo que puede ser muy útil en aplicaciones complejas.

El extern "c" La palabra clave también puede tener un efecto indirecto en la funcionalidad y el rendimiento de un programa escrito en el lenguaje C ++. Un programa escrito en C ++ puede tener porciones escritas en un idioma diferente, como el código de ensamblaje. El extern "c" La palabra clave se puede usar para acceder a estas funciones que no son ++ desde un programa C ++. El uso de esta palabra clave para acceder a las funciones escritas en un lenguaje diferente puede reducir la complejidad general del programa, lo que resulta en una mayor claridad, velocidades de ejecución más rápidas y, en general, una depuración más fácil.

Además, el extern "c" La palabra clave se puede usar para facilitar la integración de terceros. Si una empresa u organización desarrolla un módulo o herramienta externa en un idioma que no sea C ++, el "Extern C" La palabra clave se puede usar para acceder a funciones y objetos de ese módulo o herramienta en el código C ++. Esto hace que el módulo o herramienta externo sea más fácil de usar y garantiza la compatibilidad con el programa C ++.

Echemos un vistazo a un ejemplo simple para obtener el valor de la variable int en la salida.

#incluir
nulo func (int a)

std :: cout << "The value of a is " << a << std::endl;

int main ()
func (35);
regresar 0;

Si ejecutamos el código de código C ++ anterior en el compilador, genera el valor de a Como 35.

Sin embargo, si queremos llamar a esta misma función dentro de un programa C, nos encontraremos con un problema.

#incluir
externo nulo func (int);
int main ()
func (35);
regresar 0;

Para corregir el error anterior, debemos usar el extern "c" Palabra clave para reconocer el compilador C ++ para generar un nombre de función de estilo C para la función anterior para que el compilador C reconozca el código.

#incluir
extern "c" void func (int a)
std :: cout << "The value of a is " << a << std::endl;

int main ()
diversión (35);
regresar 0;

Conclusión

El extern "c" La palabra clave es una de las palabras clave más útiles para tener en cualquier idioma C ++. Permite a los usuarios integrar el código C ++ con el código C o al escribir bibliotecas C ++ que se desarrollan para la programación C. La guía mencionada anteriormente proporciona información útil para aprender el efecto del extern "c" Palabra clave con códigos de muestra para mostrar claramente cómo extern "c" se usa en c++.