Hva er effekten av ekstern “C” i C ++

Hva er effekten av ekstern “C” i C ++
Ekstern “C” er et nøkkelord som brukes på C ++ -språket, som indikerer at en funksjon eller variabel skal behandles som en C -funksjon eller variabel. Årsaken er at C og C ++ begge bruker forskjellige konvensjoner for funksjon, og det er ikke mulig å direkte ringe en C ++ -funksjon fra C -kode.

Effekt av ekstern “C” i C++

Virkningen av Ekstern “C” I C ++ er at den ber kompilatoren om å bruke C-stil navnekonvensjon og koblingsregler for de deklarerte funksjonene og variablene. Dette er nødvendig fordi C ++ har forskjellige navnemangling og koblingsregler enn C.

Når du erklærer en funksjon eller variabel ved hjelp av Ekstern “C”, Kompilatoren genererer et symbolnavn som følger C -navnekonvensjonen og koblingsreglene, noe som gjør det kompatibelt med C -biblioteker og andre programmer som bruker C -kobling. Dette lar C ++ -programmer ringe funksjoner fra C -biblioteker.

Hovedformålet med Ekstern “C” Nøkkelord er å aktivere interoperabilitet mellom programmer skrevet på forskjellige språk. Uten det ville C ++ ikke kunne “snakke”Til programmer skrevet på andre språk som Java, C#og mange andre. Med dette nøkkelordet kan et objekt som er deklarert i C ++ -kode nås av et program skrevet på et annet språk, noe som reduserer barrierer for kommunikasjon mellom forskjellige programmer. Dette kan tillate at programmer skrevet på forskjellige språk har mer sammenvevd funksjonalitet, noe som kan være veldig nyttig i komplekse applikasjoner.

De Ekstern “C” Nøkkelord kan også ha en indirekte effekt på funksjonaliteten og ytelsen til et program skrevet på C ++ -språket. Et program skrevet i C ++ kan ha deler skrevet på et annet språk, for eksempel monteringskode. De Ekstern “C” Nøkkelord kan brukes til å få tilgang til disse ikke-C ++ -funksjonene fra et C ++ -program. Å bruke dette nøkkelordet for å få tilgang til funksjoner skrevet på et annet språk kan redusere programmets generelle kompleksitet, noe som resulterer i større klarhet, raskere utførelseshastigheter og generelt enklere feilsøking.

Dessuten Ekstern “C” Nøkkelord kan brukes til å lette tredjepartsintegrasjon. Hvis et selskap eller organisasjon utvikler en ekstern modul eller et verktøy på et annet språk enn C ++, er det “Ekstern C” Nøkkelord kan brukes til å få tilgang til funksjoner og objekter fra den modulen eller verktøyet i C ++ -koden. Dette gjør den eksterne modulen eller verktøyet enklere å bruke og sikrer kompatibilitet med C ++ -programmet.

La oss se på et enkelt eksempel for å få verdien av int -variabel i utgangen.

#inkludere
void func (int a)

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

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

Hvis vi kjører ovennevnte kode C ++ -kode i kompilatoren, sender den ut verdien av en som 35.

Imidlertid, hvis vi vil kalle den samme funksjonen i et C -program, vil vi få et problem.

#inkludere
Extern Void func (int);
int main ()
func (35);
retur 0;

For å fikse feilen ovenfor, må vi bruke Ekstern “C” Nøkkelord for å anerkjenne C ++ -kompilatoren for å generere et C-stil funksjonsnavn for ovennevnte funksjon, slik at C-kompilatoren vil gjenkjenne koden.

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

int main ()
moro (35);
retur 0;

Konklusjon

De Ekstern “C” Nøkkelord er et av de mest nyttige nøkkelordene å ha på et hvilket som helst C ++ -språk. Det lar brukere integrere C ++ -kode med C -kode eller når de skriver C ++ biblioteker som er utviklet for C -programmering. Den ovennevnte retningslinjen gir nyttig informasjon for å lære effekten av Ekstern “C” nøkkelord med prøvekoder for å tydelig vise hvordan Ekstern “C” brukes i C++.