Qual è l'effetto di C esterno in C ++

Qual è l'effetto di C esterno in C ++
esterno "C" è una parola chiave utilizzata nel linguaggio C ++, che indica che una funzione o una variabile deve essere trattata come una funzione o una variabile C. Il motivo è che C e C ++ utilizzano entrambe convenzioni diverse per la funzione e non è possibile chiamare direttamente una funzione C ++ dal codice C.

Effetto dell'esterno "C" in C++

L'effetto di esterno "C" In C ++ è che dice al compilatore di utilizzare la convenzione di denominazione di stile C e le regole di collegamento per le funzioni e le variabili dichiarate. Ciò è necessario perché C ++ ha diverse regole di mangling e collegamento rispetto a C.

Quando si dichiara una funzione o una variabile usando esterno "C", Il compilatore genera un nome di simbolo che segue la convenzione di nome C e le regole di collegamento, rendendolo compatibile con librerie C e altri programmi che utilizzano il collegamento C. Ciò consente ai programmi C ++ di chiamare le funzioni dalle librerie C.

Lo scopo principale del esterno "C" La parola chiave è abilitare l'interoperabilità tra i programmi scritti in lingue diverse. Senza di essa, C ++ non sarebbe in grado di farlo "parlare"Ai programmi scritti in altre lingue come Java, C#e molti altri. Con questa parola chiave, un oggetto dichiarato nel codice C ++ è possibile accedere da un programma scritto in un'altra lingua, riducendo gli ostacoli alla comunicazione tra diversi programmi. Ciò può consentire ai programmi scritti in diverse lingue di avere funzionalità più intrecciate, il che può essere molto utile in applicazioni complesse.

IL esterno "C" La parola chiave può anche avere un effetto indiretto sulla funzionalità e sulle prestazioni di un programma scritto nel linguaggio C ++. Un programma scritto in C ++ può avere porzioni scritte in una lingua diversa, come il codice di assemblaggio. IL esterno "C" La parola chiave può essere utilizzata per accedere a queste funzioni non C ++ da un programma C ++. L'uso di questa parola chiave per accedere alle funzioni scritte in una lingua diversa può ridurre la complessità complessiva del programma, con conseguente maggiore chiarezza, velocità di esecuzione più rapide e debug generalmente più facile.

Inoltre, il esterno "C" La parola chiave può essere utilizzata per facilitare l'integrazione di terze parti. Se un'azienda o un'organizzazione sviluppa un modulo o uno strumento esterno in un linguaggio diverso da C ++, il "ESTERN C" La parola chiave può essere utilizzata per accedere alle funzioni e agli oggetti da quel modulo o strumento nel codice C ++. Ciò semplifica l'utilizzo del modulo o dello strumento esterno e garantisce la compatibilità con il programma C ++.

Diamo un'occhiata a un semplice esempio per ottenere il valore della variabile int nell'output.

#includere
void func (int a)

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

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

Se eseguiamo il codice C ++ sopra nel compilatore, emette il valore di UN come 35.

Tuttavia, se vogliamo chiamare questa stessa funzione all'interno di un programma C, incontreremo un problema.

#includere
esterno void func (int);
int main ()
func (35);
restituzione 0;

Per correggere l'errore sopra, dobbiamo usare il esterno "C" Parola chiave per riconoscere il compilatore C ++ per generare un nome di funzione in stile C per la funzione sopra in modo che il compilatore C riconosca il codice.

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

int main ()
divertimento (35);
restituzione 0;

Conclusione

IL esterno "C" La parola chiave è una delle parole chiave più utili da avere in qualsiasi lingua C ++. Consente agli utenti di integrare il codice C ++ con il codice C o quando si scrivono librerie C ++ sviluppate per la programmazione C. Le linee guida sopra menzionate forniscono informazioni utili per apprendere l'effetto del esterno "C" Parole chiave con codici di esempio per mostrare chiaramente come esterno "C" è usato in c++.