Qual é o efeito do externo “C” em C ++

Qual é o efeito do externo “C” em C ++
externo “C” é uma palavra -chave usada na linguagem C ++, que indica que uma função ou variável deve ser tratada como uma função C ou variável. O motivo é que C e C ++ usam convenções diferentes para função e não é possível chamar diretamente uma função C ++ do código C.

Efeito de externo “C” em C++

O efeito de externo “C” Em C ++ é que ele diz ao compilador para usar as regras de Convenção de Nomeação e Link do estilo C para as funções e variáveis ​​declaradas. Isso é necessário porque o C ++ possui diferentes regras de manipulação de nomes e ligação do que C.

Quando você declara uma função ou variável usando externo “C”, O compilador gera um nome de símbolo que segue as regras da Convenção de Nomeação C e de Link, tornando -o compatível com as bibliotecas C e outros programas que usam a ligação C. Isso permite que os programas C ++ liguem funções de bibliotecas C.

O principal objetivo do externo “C” A palavra -chave é permitir a interoperabilidade entre os programas escritos em diferentes idiomas. Sem ele, C ++ não seria capaz de “falar”Para programas escritos em outros idiomas, como Java, C#e muitos outros. Com essa palavra -chave, um objeto declarado no código C ++ pode ser acessado por um programa escrito em outro idioma, reduzindo as barreiras à comunicação entre diferentes programas. Isso pode permitir que programas escritos em diferentes idiomas tenham mais funcionalidade entrelaçada, que podem ser muito úteis em aplicativos complexos.

O externo “C” A palavra -chave também pode ter um efeito indireto na funcionalidade e desempenho de um programa escrito na linguagem C ++. Um programa escrito em C ++ pode ter partes escritas em um idioma diferente, como o código de montagem. O externo “C” A palavra-chave pode ser usada para acessar essas funções não C ++ de um programa C ++. O uso dessa palavra -chave para acessar funções escritas em um idioma diferente pode reduzir a complexidade geral do programa, resultando em maior clareza, velocidades de execução mais rápidas e depuração geralmente mais fácil.

Além disso, o externo “C” A palavra-chave pode ser usada para facilitar a integração de terceiros. Se uma empresa ou organização desenvolver um módulo ou ferramenta externa em um idioma que não seja C ++, o “Externo C” A palavra -chave pode ser usada para acessar funções e objetos desse módulo ou ferramenta no código C ++. Isso facilita o uso do módulo ou ferramenta externo e garante a compatibilidade com o programa C ++.

Vamos dar uma olhada em um exemplo simples para obter o valor da variável int na saída.

#incluir
Void Func (int a)

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

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

Se executarmos o código do código acima no compilador, ele gera o valor de a como 35.

No entanto, se quisermos chamar essa mesma função dentro de um programa C, enfrentaremos um problema.

#incluir
Func vazio externo (int);
int main ()
func (35);
retornar 0;

Para corrigir o erro acima, devemos usar o externo “C” palavra-chave para reconhecer o compilador C ++ para gerar um nome de função no estilo C para a função acima, para que o compilador C reconheça o código.

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

int main ()
diversão (35);
retornar 0;

Conclusão

O externo “C” A palavra -chave é uma das palavras -chave mais úteis para ter em qualquer idioma C ++. Ele permite que os usuários integrem o código C ++ com o código C ou ao escrever bibliotecas C ++ que são desenvolvidas para programação C. A diretriz mencionada acima fornece informações úteis para aprender o efeito do externo “C” palavra -chave com códigos de amostra para mostrar claramente como externo “C” é usado em c++.