Quel est l'effet de «C» externe en C ++

Quel est l'effet de «C» externe en C ++
«C» externe est un mot-clé utilisé dans la langue C ++, qui indique qu'une fonction ou une variable doit être traitée comme une fonction C ou une variable. La raison en est que C et C ++ utilisent les deux conventions différentes pour la fonction et il n'est pas possible d'appeler directement une fonction C ++ à partir du code C.

Effet de «C» externe en C++

L'effet de «C» externe En C ++, il indique au compilateur d'utiliser la convention de dénomination de style C et les règles de liaison pour les fonctions et variables déclarées. Ceci est nécessaire car C ++ a des règles de gestion de nom et de liaison différentes de celles de C.

Lorsque vous déclarez une fonction ou une variable en utilisant «C» externe, Le compilateur génère un nom de symbole qui suit la convention de dénomination C et les règles de liaison, ce qui le rend compatible avec les bibliothèques C et autres programmes qui utilisent C Linkage. Cela permet aux programmes C ++ d'appeler les fonctions à partir des bibliothèques C.

Le but principal du «C» externe Le mot-clé consiste à permettre l'interopérabilité entre les programmes écrits dans différentes langues. Sans cela, C ++ ne serait pas en mesure de «parler«Aux programmes écrits dans d'autres langues telles que Java, C # et bien d'autres. Avec ce mot clé, un objet déclaré dans le code C ++ est accessible par un programme écrit dans une autre langue, réduisant les obstacles à la communication entre différents programmes. Cela peut permettre aux programmes écrits dans différentes langues d'avoir des fonctionnalités plus liées, ce qui peut être très utile dans des applications complexes.

Le «C» externe Le mot-clé peut également avoir un effet indirect sur la fonctionnalité et les performances d'un programme écrit dans la langue C ++. Un programme écrit en C ++ peut avoir des portions écrites dans une langue différente, comme le code d'assemblage. Le «C» externe Le mot-clé peut être utilisé pour accéder à ces fonctions non-C ++ à partir d'un programme C ++. L'utilisation de ce mot-clé pour accéder aux fonctions écrites dans une langue différente peut réduire la complexité globale du programme, entraînant une plus grande clarté, des vitesses d'exécution plus rapides et un débogage généralement plus facile.

De plus, le «C» externe Le mot-clé peut être utilisé pour faciliter l'intégration de tiers. Si une entreprise ou une organisation développe un module ou un outil externe dans une langue autre que C ++, le «Extern C» Le mot-clé peut être utilisé pour accéder aux fonctions et objets de ce module ou outil dans le code C ++. Cela rend le module ou l'outil externe plus facile à utiliser et assure la compatibilité avec le programme C ++.

Jetons un coup d'œil à un exemple simple pour obtenir la valeur de la variable int dans la sortie.

#inclure
void func (int a)

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

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

Si nous exécutons le code C ++ du code ci-dessus dans le compilateur, il publie la valeur de un comme 35.

Cependant, si nous voulons appeler cette même fonction dans un programme C, nous rencontrerons un problème.

#inclure
extern void func (int);
int main()
func (35);
retour 0;

Pour corriger l'erreur ci-dessus, nous devons utiliser le «C» externe mot-clé pour reconnaître le compilateur C ++ pour générer un nom de fonction de style C pour la fonction ci-dessus afin que le compilateur C reconnaisse le code.

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

int main()
amusant (35);
retour 0;

Conclusion

Le «C» externe Le mot-clé est l'un des mots clés les plus utiles à avoir dans n'importe quelle langue C ++. Il permet aux utilisateurs d'intégrer le code C ++ avec le code C ou lors de l'écriture de bibliothèques C ++ qui sont développées pour la programmation C. La directive mentionnée ci-dessus fournit des informations utiles pour apprendre l'effet du «C» externe mot-clé avec des exemples de codes pour montrer clairement comment «C» externe est utilisé en c++.