Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

espadahabil

Modificando a fundo C

Recommended Posts

Eu estou com vontade de brincar um pouco, e gostaria de saber como faço para mudar o nome das funções principais do C, por exemplo, mudar printf para imprima, ou adicionar parâmetros, tirar, em qualquer outra função...

Até mesmo se der mudar o #include por outra coisa, tem como fazer isso, ainda sendo C?

O compilador C leria?

É difícil? Alguém se tiver algum tuto ou dica de como fazer, pois mesmo altrando no stdio.h a função printf (único lugar que achei ela) para showf e não reconheceu...

 

Abçs,

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dica é: não faça isso.

Dá pra criar macros com define, mas as funções vão continuar com o mesmo nome. O que acontece é só substituição do texto no programa.

Se você mudar tudo nos .h ainda tem que gerar as bibliotecas com os novos nomes e sabe-se lá fazer mais o quê pra tudo funcionar. Isso se você não quebrar também o sistema operacional.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer isto facilmente criando seu cabeçalho que inclua suas proprias funções que internamente usam funções do padrão C.

Por exemplo:

void imprime_texto( char *str )
{
  printf( str );
} 
void imprime_numero( int num )
{
  printf( "%d", num );
}
Agora se você realmente quer alterar as funções do padrão é como a _Isis_ ja mencionou é TOTALMENTE desaconselhável, pq alterando elas você descaracteriza a linguagem ( o padrão JAMAIS deve ser modificado ! ), nós só devemos incrementalo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas repara numa coisa...

Uma intrução de salto (condicional ou incondicional) é uma instrução muito delicada para o processador gerenciar e pode complicar a vida dele diminuindo o desempenho do código.

Uma chamada para uma função nada mais é do que um salto incondicional.

Quanto menos saltos seu código possuir melhor.

 

Qual o ponto de refazer a roda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.