Pular para o conteúdo principal

Postagens

Mostrando postagens de 2017

Ponteiros de funções em C

Um ponteiro de função nada mais é do que uma variável que armazena o endereço de uma função e possibilita sua chamada. Isso é útil em casos em que você precisa encapsular um comportamento ou principalmente precisa implementar um padrão de projetos em C! ( Veja aqui um exemplo do padrão STRATEGY usando Ponteiros para Funções ). Utilizar funções em ponteiros também fornece mais flexibilidade para seu código. O uso dessa técnica é bem simples. Nesse exemplo vamos criar funções que fazem potenciação e raiz quadrada de um número e que são alteradas em apenas um lugar do código, dispensando a modificação de toda a estrutura. Veja o passo a passo abaixo: 1) Declare um ponteiro para função como se estivesse declarando uma função, porém com um * (asterisco) antes do seu nome e utilizando typedef. Na linha abaixo, foo é o nome do ponteiro para função e int é o parâmetro que esta recebe.

Compilando manualmente código-fonte em C em ambiente Unix (Linux, MacOS)

Se você está num ambiente Unix (ex. Linux, MacOS) e precisa compilar um código-fonte manualmente, é possível utilizar o compilador  GCC (GNU Compiler Collection) , o qual já vem instalado por padrão no sistema, para realizar essa tarefa. É muito simples e sem complicações. Se o seu programa está contido em apenas um arquivo de código-fonte, execute o seguinte comando dentro da pasta onde está o arquivo para realizar a compilação: gcc nomedoprograma.c -o nomedoprogramacompilado Neste caso, o arquivo de código-fonte está nomeado como nomedoprograma.c e o nome do arquivo compilado (arquivo de saída, executável) será nomeado como nomedoprogramacompilado. Não é necessário incluir a extensão do arquivo pois no ambiente Unix um arquivo executável é reconhecido automaticamente. Por questões didáticas nós modificamos o nome do arquivo de saída, porém uma boa prática é manter o nome do arquivo de saída conforme o arquivo de entrada (sem a extensão, é claro).