Curso e C - Aula 5: Arquivos
Autor: Zainer Araujo | Publicado: 2009-09-27T03:51:00-07:00

Hoje vou "esticar" um pouco mais o assunto mas semana que vem piora! Estou brincando, vamos lá que tem muito o que falar .. fiquem tranqüilos, tudo é normal e o aprendizado sempre faz parte de uma fase, depois as coisas vão se encaixando e fica tudo mais tranqüilo, todos conseguirão superar.Extensões de arquivoExiste uma convenção usada pelos compiladores para denominarmos os programas escritos em C e todos elementos que se referem ao conjunto programa. As denominações encontradas são:O fonte do programa: nome_do_programa.cArquivo Objeto: nome_do_programa.oArquivo no formato executável: nome_do_programa ou nome_do_programa.exe (não Linux)Arquivo de cabeçalho: Nome_da_Biblioteca.hBiblioteca: libNome_da_Biblioteca.so libNome_da_Biblioteca.aO final do arquivo após o ponto (c,o,a,so ou nada) identifica o tipo de arquivo para o compilador. Ele usa isso para gerar o executável. Os arquivos objeto e executável podem ser deletados sem problemas, são fáceis de serem gerados. Já o .c é o fonte do programa, ele que contém o código real do que o programa fará. Para executar o compilar, você deve:cc -o nome_do_executável nome_do_programa.cQue chama o CC, ou, C Compiler, em geral o GCC, compilador C da GNU.Um detalhe interessante de se saber é como parar a execução de um programa. Todo sistema tem sua forma particular de fazer isso. Em geral, devemos pressionar Ctrl (tecla Control) junto com C, ou junto com Z, ou mesmo D.Outra, o comando ls é equivalente ao DIR do DOS e permite listar os arquivos do diretório atual. O comando cd, change dir, também é equivalente a outros sistemas, serve para trocar de diretório.O arquivo de cabeçalho mais comum existente hoje é o padrão de entrada/saída, da biblioteca C padrão.Para incluir um cabeçalho, adicione ao código fonte:#include cabecalho.h em cima do programa.#include "meu_cabecalho.h"para incluir um arquivo pessoal, que esteja no diretório atual.#include  quando ele se encontra em um dos diretórios padrão, como /usr/include.A diretiva #include é um comando para o pré-processador, que falaremos em outra semana.Existem situações que não precisamos dizer cabeçalho algum ou ter bibliotecas chamadas explicitamente, todo programa utiliza a biblioteca c padrão, libc. Sempre. Ou seja, programas que utilizam de suas funções não precisam que a chamem explicitamente. #include main() {printf ("Biblioteca C padrão incluida\n"); printf ("Cozinhando com C e Linux!");}Um programa que use funções matemáticas, como por exemplo "seno", precisará adicionar os cabeçalho da respectiva biblioteca matemática.#include #include main (){ double x,y;y = sin (x);printf ("Biblioteca matemática ok!"); }Existem variações de sistema para sistema. Isso em relação a mouse, desenhos de janelas, propriedades do terminal e várias outras situações. Necessariamente, você terá que procurar no manual do sistema (man função, uma ajuda e tanto) ou do compilador.Não importa quantas bibliotecas você usará, sua limitação será em geral memória, toda biblioteca adiciona o fonte e o código objeto. Sistemas Operacionais como o Linux tem a capacidade de distinguir e pegar apenas as funções que interessam. Já outros, são obrigados a adicionar todos os códigos na memória, e depois de já ter perdido tempo e espaço.A forma de um programa em CC é uma das linguagens mais flexíveis em termos de formato já existentes. É uma linguagem livre de formato. Isso quer dizer que não existem regras de onde quebrar linhas, botar chaves, e assim vai. Isso é ao mesmo tempo vantajoso mas perigoso. A vantagem é que o usuário tem a liberdade para criar um estilo que melhor lhe atenda. A desvantagem é que programas "bizarros" podem aparecer, e de impossível manutenção. Algumas dicas de se escolher uma estrutura bem definida:* Programas maiores são de gerenciamento possível só se estiverem bem organizados.* Programas são entendidos somente se os nomes de variáveis e funções condizem com o que fazem.* É mais fácil achar partes de um programa se ele tiver bem ordenado, é impossível num programa totalmente desorganizado e "macarrônico" se achar algo.Simplesmente regras rígidas na hora de escrever um programa não significam que ele terá êxito. Experiência na programação, muito bom senso e clareza de idéias são fatores decisivos na hora de se programar.Até a próxima semana.