Programando em Linguagem ANSI C

Páginas: 6 (1385 palavras) Publicado: 9 de setembro de 2013
Material Complementar – EA869 (Prof. Von Zuben – DCA/FEEC/Unicamp)

1

Programando em Linguagem ANSI C
1. Compilando um programa em linguagem C no UNIX
O processo de geração de um programa executável envolve pelo menos uma das seguintes
etapas: preprocessamento, compilação, montagem, ligação.
Programas-fonte em C devem possuir a extensão “.c”, enquanto que programas-objeto(preprocessados, compilados, montados, mas não ligados) devem possuir a extensão “.o”. Extensões “.C”
e “.cc” são geralmente reservadas para programas-fonte em C++.
Um comando UNIX do tipo $cc fonte.c ou $gcc fonte.c vai executar os 4 estágios
mencionados e o arquivo final (arquivo executável) receberá o nome default a.out. O compilador cc
geralmente tende a ser específico para cada máquina e versão dosistema operacional. Tanto cc como
gcc aceitam o padrão ANSI, mas não estão restritos unicamente a ele. Se o usuário quiser fornecer o
nome do arquivo executável (procedimento altamente recomendado), por exemplo arqexec, ele deve
utilizar o seguinte comando com opção “-o”: $cc fonte.c -o arqexec. Caso se queira debugar o
programa utilizando o comando dbx (procedimento útil para detectar errosna fase de execução do
programa), deve-se incluir a opção -g. Também é possível compilar um programa-fonte de forma a gerar
apenas o programa-objeto. Para tanto, utilize o comando $cc -c fonte.c.
Há casos em que é necessário indicar ao compilador quais bibliotecas (além da biblioteca padrão
da linguagem) contêm funções que estarão sendo executadas em seu programa. Para tanto, utilize a opção-l seguida do nome da biblioteca.
Embora os compiladores C mais modernos já sejam capazes de diagnosticar quase todos os
problemas com o código-fonte, lint é o comando geralmente utilizado para realizar uma verificação
formal de alto nível, capaz de diagnosticar problemas de programação secundários ou não-vitais, mas que
podem produzir efeitos inesperados ou não-portáveis.
Quando um programaé composto por vários arquivos-fonte, o programa make pode ser
utilizado para realizar automaticamente a ligação dos arquivos-objeto correspondentes, recompilando
aqueles que foram modificados após a última criação do arquivo executável.
O manual on-line man contém a documentação completa sobre os comandos cc e gcc.

2. Mais alguns conceitos básicos
2.1. A função principal e seusargumentos
Pata todo programa escrito em C, independente de haver ou não retorno de valores, a função
principal main tem que ser declarada como retornando inteiro. Declarações como void main()
podem causar problemas ao processo responsável pela execução do código. Com isso, são válidas
declarações como:
main()
int main()

Além disso, toda vez que for necessário ou desejado passar argumentos nalinha de comando de
um programa escrito em C, deve-se declarar a função principal como:
main(int argc,char *argv[])

/* OU int main(int argc,char *argv[]) */

A primeira variável declarada, convencionalmente chamada argc, conterá o número de
argumentos com que o programa foi chamado. Já a segunda variável, convencionalmente chamada argv,
é um apontador para um arranjo de cadeias decaracteres, e conterá os argumentos, um por cadeia. Por
convenção, argv[0] conterá o nome do programa que foi ativado, de forma que argc é pelo menos 1.
2.2. Argumentos em funções genéricas
Em C, argumentos de funções são passados por valor, ou seja, a função chamada recebe uma
cópia temporária e privativa de cada argumento, e não seu endereço. Isto significa que a função chamada
não pode afetar oargumento original da função chamadora. Dentro de uma função, cada argumento é,
essencialmente, uma variável local inicializada com o valor com o qual a função foi chamada. No
entanto, a passagem de apontadores permite emular o efeito de passagem por referência.

Programando em Linguagem ANSI C

Material Complementar – EA869 (Prof. Von Zuben – DCA/FEEC/Unicamp)

2

2.3. Bibliotecas C e...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • Programando na Linguagem C
  • C++
  • Programando em C++
  • programando em c#
  • Programando em C
  • Programando Em C Com O AVR Studio
  • Linguagem c
  • Linguagem c

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!