bibliotecas e makefiles em C/C++
|
|
|
- Linda Carrilho Neiva
- 9 Há anos
- Visualizações:
Transcrição
1 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Uma breve introdução à criação de bibliotecas e makefiles em C/C++ Moacir Pereira Ponti Jr. 2011
2 1 Arquivos de cabeçalho e bibliotecas É muito interessante criar bibliotecas cujas funções (classes e métodos, no caso de linguagens orientadas a objetos) possam ser reutilizadas em diversos programas. Você pode inclusive distribuir essas bibliotecas, com a opção de esconder o código fonte utilizado nas funções. Geralmente ao programar em C/C++, já utilizamos muitas bibliotecas com funções prontas como quando incluímos <stdio.h> ou <iostream>. Para criarmos nossa própria biblioteca é preciso ter arquivos de cabeçalho (com extensão.h ) e arquivos de biblioteca (com extensão dependente do compilador e sistema operacional, no gcc a extensão geralmente utilizada é.a ). Vamos mostrar um exemplo em C de biblioteca contendo uma única função, que receba um valor inteiro e retorne seu fatorial. O arquivo cabeçalho será funcoes.h, e o arquivo com o código fonte da função será nomeado funcoes.c e tem o seguinte conteúdo: #include "funcoes.h" int fatorial(int x) { int a, fatx=1; for (a=x; a>1; a--) { fatx = fatx*a; } return fatx; } Veja que já incluímos funcoes.h. Isso será necessário para o compilador reconhecer a função como sendo parte da biblioteca. O arquivo cabeçalho irá conter informações apenas da interface, tipicamente as assinaturas (ou protótipos) das funções. A extensão.h vem da palavra header (cabeçalho em inglês). Nesse caso teremos o arquivo cabeçalho, nomeado funcoes.h, definido da seguinte forma: #ifndef FUNCOES_H #define FUNCOES_H int fatorial(int); #endif As primeiras linhas (#ifndef e #define) tem a função de verificar se o arquivo cabeçalho já foi incluído num projeto, antes de incluí-lo novamente de forma desnecessária. 1
3 Temos então dois arquivos: funcoes.c e funcoes.h. Para utilizá-los, devemos gerar o arquivo objeto da biblioteca: $ gcc -c funcoes.c -o funcoes.o Se desejar criar um arquivo.a, que possa ser distribuído, utilize o comando: $ ar -cru libfuncoes.a funcoes.o Os arquivos.a são bibliotecas estáticas, que tem a vantagem de poder carregar vários objetos. Nesse caso não faz muita diferença, mas o comando é bastante útil em projetos maiores. Se quiser saber mais sobre o ar entre em seu manual digitando $ man ar. Agora podemos copiar todos os arquivos para um diretório separado, por exemplo./biblioteca. 1.1 Utilizando a biblioteca Agora, sempre que for necessário usar funções definidas no arquivo funcoes.c, incluimos o arquivo funcoes.h no programa que vamos implementar. Abaixo um exemplo de código fonte, que iremos nomear programa.c, que utiliza a biblioteca funcoes: #include <stdio.h> #include "funcoes.h" int main(void) { int b; printf("valor para calcular o fatorial: "); scanf("%d", b); printf("\n O fatorial de %d = %d", b, fatorial(b)); } return 0; Repare que não utilizamos os sinais de menor/maior para incluir funcoes.h, como na biblioteca stdio.h. Eles são usados quando o arquivo cabeçalho estiver instalado num diretório padrão do sistema. Agora há duas opções de compilação: uma usando o arquivo objeto e outra usando a biblioteca estática Usando biblioteca estática: é preciso instruir o compilador com as opções de includes e edição de ligações (linker) para que a biblioteca possa ser incluída no programa executável. No gcc isso é feito utilizando: 2
4 $ gcc programa.c -I./biblioteca -L./biblioteca -lfuncoes -o programa Onde os flags significam: -I inclui diretórios onde existam cabeçalhos utilizados no código fonte. -L inclui diretórios onde existam bibliotecas estáticas que devem ser incluídas no programa. -lfuncoes utiliza o arquivo de biblioteca criado, libfuncoes.a -o programa gera como saída o executável programa Usando o arquivo objeto: é preciso instruir o compilador com as opções de includes e manualmente indicar onde está o arquivo objeto. No gcc isso é feito utilizando: $ gcc programa.c./biblioteca/funcoes.o -I./biblioteca -o programa Repare que, nesse caso, não utilizamos os flags de diretórios de biblioteca -L nem incluímos a biblioteca estática -lfuncoes, pois utilizamos o arquivo objeto diretamente. 2 Compilação e makefiles A compilação e ligação de códigos fonte pode ser uma tarefa complexa quando se utiliza referências a diversas bibliotecas e quando temos muitos arquivos fonte (.c,.cpp,...) para juntar à compilação e gerar o programa. A forma mais simples de compilar arquivos e obter um executável utilizando o gcc é, por exemplo: $ gcc programa.c biblioteca.c funcoes.c -o programa Repare que, nesse exemplo, para obtermos o programa precisamos de três arquivos de código fonte. Muitas vezes temos também que adicionar o caminho para bibliotecas que usamos no nosso programa, o que aumenta a linha de comando, como por exemplo: $ gcc programa.c biblioteca.c funcoes.c -o programa -L/home/lib Ainda, quando alteramos apenas um dos fontes, geralmente compilamos tudo novamente, de forma manual, para obter o programa desejado. Para minimizar esse esforço, podemos utilizar arquivos makefile em conjunto com o utilitário make. Makefiles são arquivos com um formato especial que auxiliam na compilação e ligação de projetos. Make é um programa especialmente criado para ler esses arquivos, que contém as instruções para tudo o que deve ser feito ( make ). Se você executar: 3
5 $ make esse programa irá procurar por um arquivo chamado Makefile no diretório atual, e irá executar utilizando as instruções desse arquivo. Se você tiver mais do que um makefile ou seu arquivo possuir um nome diferente, você pode usar o comando: $ make -f MeuMakefile que especifica o arquivo que você quer utilizar para gerar seu programa. 2.1 Arquivos Makefile Um makefile é um arquivo texto composto basicamente de alvos (target), dependências (dependencies) e comandos (system commands), na forma: target: dependencies <TAB>system command onde <TAB> representa uma tabulação. No arquivo você realmente precisa usar essa tabulação para o programa identificar corretamente os comandos a serem executados. Podemos definir um arquivo da seguinte forma: all: <TAB>gcc programa.c biblioteca.c funcoes.c -o programa -L/home/lib e salvá-lo com o nome Makefile. Para executar: $ make No exemplo acima usamos o alvo padrão, chamado all. Esse alvo será executado sem qualquer dependência, ou seja, não precisamos que nenhum outro arquivo exista para executar all. Nesse caso, a linha de comando é executada diretamente. 2.2 Dependências Podemos definir múltiplos alvos, cada um com dependências diferentes, para que o make possa executar alvos a partir das dependências, ou então para que possamos escolher qual alvo desejamos executar. Suponha que tenhamos apenas dois arquivos para compilar, por exemplo, programa.c e funcoes.c, e queremos gerar o executável programa. Podemos definir o Makefile da seguinte forma: 4
6 programa: funcoes.o programa.o gcc programa.o funcoes.o -o programa programa.o: programa.c gcc -c programa.c funcoes.o: funcoes.c gcc -c funcoes.c Repare que não usamos mais o indicador <TAB>, mas você deverá utilizar uma tabulação para que o arquivo funcione. Agora temos três alvos. O utilitário make irá tentar resolver as dependências dentro de cada alvo disponível, executando o comando para gerar cada arquivo necessário. Caso um dos arquivos já exista e não tenha sido modificado, ele não é recompilado. No exemplo, inicialmente o make irá tentar executar o alvo programa. Como este possui duas dependências: programa.o e funcoes.o, será preciso antes executar os respectivos alvos para satisfazer as dependências e compilar o programa. Supondo que no diretório existam apenas os arquivos.c, ao executarmos make, a sequência de comandos seria: gcc -c funcoes.c gcc -c programa.c gcc programa.o funcoes.o -o programa Ou seja, primeiro é preciso criar o arquivo objeto funcoes.o, a seguir o arquivo objeto programa.o, para finalmente realizar a ligação e obter o executável. Experimente alterar apenas um dos arquivos e executar make para verificar que ele recompila apenas as dependências de arquivos que foram alterados. Podemos definir dependências com funções específicas como, por exemplo: programa: funcoes.o programa.o gcc programa.o funcoes.o -o programa programa.o: programa.c gcc -c programa.c funcoes.o: funcoes.c gcc -c funcoes.c clean: rm -rf programa *.o 5
7 Veja que adicionamos o alvo clean que é responsável por apagar o binário programa, todos os objetos, ou seja, todos os arquivos com extensão.o. Para que o make execute apenas a limpeza, utilizamos: $ make clean Definir esse tipo de dependência é útil quando queremos rapidamente excluir arquivos para recompilar completamente o projeto. 2.3 Variáveis, comentários e detalhes É possível utilizar variáveis e comentários úteis quando queremos definir caminhos, opções de compilação, entre outros. Por exemplo: # Comentario do makefile # utilizaremos a variavel CP para definir o compilador a ser utilizado CP=gcc # a variavel COPT sera utilizada para adicionar opcoes a compilacao COPT=-c -Wall programa: funcoes.o programa.o $(CP) programa.o funcoes.o -o programa programa.o: programa.c $(CP) $(COPT) programa.c funcoes.o: funcoes.c $(CP) $(COPT) funcoes.c clean: rm -rf *o programa A variável é criada simplesmente atribuindo um valor. E pode ser usada utilizando o operador cifrão, na forma $(VARIAVEL). Nesse exemplo, poderíamos facilmente trocar o compilador para g++ ou alterar alguma opção de compilação. Se uma linha é muito grande, você pode inserir uma barra invertida, seguida imediatamente por uma quebra de linha (ou seja, pressionando ENTER). Um exemplo: CP=gcc 6
8 p1: $(CP) p1.o biblioteca.h biblioteca.o funcoes.h funcoes.o \ lista.h lista.o -o p1 2.4 Criando mais do que um executável Para criar mais do que um executável podemos usar o alvo all. Por exemplo, para criar três executáveis p1, p2 e p3: all: p1 p2 p3 p1: funcoes.o prog1.o gcc prog1.o funcoes.o -o p1 p2: biblioteca.o prog2.o gcc prog2.o biblioteca.o -o p1 p3: biblioteca.o funcoes.o prog3.o gcc prog3.o biblioteca.o funcoes.o -o p1 Nesse caso cada executável tem suas dependências, que devem ser definidas, se necessário no arquivo. 2.5 Gerando um arquivo tar Muitas vezes precisamos gerar um arquivo compactado com todos os arquivos do projeto. Adicionando um alvo extra podemos gerar por exemplo um arquivo tar: tar: tar cfv programa.tar funcoes.h funcoes.c biblioteca.h \ biblioteca.c lista.h lista.c programa.c Nesse caso, assim como no clean, não há dependências, sendo o arquivo programa.tar criado quando chamado o comando: $ make tar 7
9 2.6 Erros comuns Os erros geralmente estão relacionados ao uso incorreto da tabulação (<TAB>). Infelizmente elas são difíceis de visualizar. Uma dica é entrar no editor, posicionar o cursor no início da linha e mover o cursor para a frente uma vez, se ele pular vários espaços, temos uma tabulação. Os erros mais comuns são: 1. Esquecer de inserir a tabulação antes do início dos comandos, 2. Inserir uma tabulação no início de uma linha em branco, 3. Não inserir uma quebra de linha logo após uma barra invertida (quando se utiliza esse recurso). 2.7 Compilando um projeto com subdivisão em diretórios Muitos projetos em C/C++ utilizam diretórios diferentes para armazenar o código fonte, os objetos e bibliotecas. Geralmente utilizam a estrutura:./projeto./include./obj./lib./src No diretório include estão todos os cabeçalhos, no diretório obj todos os arquivos objeto, no diretório lib as bibliotecas utilizadas e em src os fontes. O uso de make auxilia muito nesses casos. Suponha um projeto em C++ que irá possuir um único executável manage, e que utilize uma biblioteca Product que contém a implementação de uma classe de mesmo nome. Assim, temos os seguintes arquivos e diretórios:./projeto./include Product.h./obj./lib./src Product.cc manage.cc 8
10 Queremos compilar manage.cc, gerando um executável manage no diretório do projeto e ao mesmo tempo gerar uma biblioteca para Product, no diretório lib. No final teremos:./projeto./include Product.h./obj Product.o./lib libproduct.a./src Product.cc manage.cc Makefile manage Para isso criaremos um Makefile com as seguintes variáveis: CC=g++ LIB=./lib INCLUDE=./include SRC=./src OBJ=./obj LIBFLAGS = -lproduct FLAGS = -Wall A primeira variável define o g++ como compilador, as próximas quatro nos auxiliarão a controlar os diretórios, e a seguir as váriaveis de flag irão informar ao compilador quais opções utilizar. Como iremos criar uma biblioteca para Product, incluímos a biblioteca como se já estivesse criada em LIBFLAGS (que deverá conter todas as bibliotecas estáticas a serem incluídas no projeto). Já em FLAGS colocamos opções que desejamos incluir na compilação. Como o objetivo é gerar um só executável a partir de manage.cc e esse depende da existência de uma biblioteca, teremos: manage: Product $(CC) $(SRC)/manage.cc $(FLAGS) -I$(INCLUDE) -L$(LIB) $(LIBFLAGS) \ -o manage 9
11 Product: $(CC) -c $(SRC)/Product.cc $(FLAGS) -I$(INCLUDE) -o $(OBJ)/Product.o ar -cru $(LIB)/libProduct.a $(OBJ)/Product.o Ao iniciar, o make irá tentar resolver manage, que depende de Product. O target Product primeiro compila o arquivo Product.cc, gerando um objeto Product.o na pasta obj. A seguir, cria uma biblioteca no diretório lib. Finalizada a dependência, manage.cc é compilado e um arquivo executável é criado no diretório do projeto. Opcionalmente, podemos incluir uma opção para limpar o projeto: clean: rm manage $(SRC)/*~ $(OBJ)/*o $(LIB)/*a Apaga o executavel, todos os arquivos textos de backup, objetos e a biblioteca. O arquivo Makefile final fica assim: # compilador CC=g++ # variaveis com diretorios LIB=./lib INCLUDE=./include SRC=./src OBJ=./obj # opcoes de compilacao LIBFLAGS = -lproduct FLAGS = -Wall manage: Product $(CC) $(SRC)/manage.cc $(FLAGS) -I$(INCLUDE) -L$(LIB) $(LIBFLAGS) \ -o manage Product: $(CC) -c $(SRC)/Product.cc $(FLAGS) -I$(INCLUDE) -o $(OBJ)/Product.o ar -cru $(LIB)/libProduct.a $(OBJ)/Product.o clean: rm *~ manage $(OBJ)/*o $(LIB)/*a 10
1/16 MAKEFILES Makefiles Programação II
1/16 MAKEFILES Definição 2/16 Definição O makefile - é um arquivo para configuração de compilação utilizado pelo programa make, - a ideia é simplificar e agilizar a compilação de programas. Vantagens e
Makefiles O que é mak a efi f le make
O que é O makefile é um arquivo para configuração de compilação utilizado pelo programa make, cuja ideia é simplificar e agilizar a compilação de programas. Vantagens e uso Evita a compilação de arquivos
A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão
A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente
IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
COMPILAÇÃO. Ricardo José Cabeça de Souza
COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo
Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação
Linguagem C: diretivas, compilação separada Prof. Críston Algoritmos e Programação Diretivas do pré processador Permite que o programador modifique a compilação O pré processador é um programa que examina
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Guia Rápido: GCC, Makefile e Valgrind.
Guia Rápido: GCC, Makefile e Valgrind. Alexandro Ramos 10 de setembro de 2015 1 Sumário 1 Introdução 3 2 GCC 3 2.1 Outros parâmetros úteis no GCC....................... 4 3 Makefiles 6 3.1 Makefile 1....................................
Revisão de Programação em C++ Leandro Tonietto Estruturas de Dados em C++ Segurança da Informação
Revisão de Programação em C++ Estruturas de Dados em C++ Segurança da Informação [email protected] http://www.inf.unisinos.br/~ltonietto mar-09 Sumário Revisão de conceitos básicos de programação Diretiva
Algoritmos e Estruturas de Dados I. Funções. Pedro Olmo Stancioli Vaz de Melo
Algoritmos e Estruturas de Dados I Funções Pedro Olmo Stancioli Vaz de Melo Exercício Brutus e Olívia foram ao médico, que disse a eles que ambos estão fora do peso ideal. Ambos discordaram veementemente
Introdução à Programação
Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5
1 Como compilar seu código? 2 Comandos de terminal:
Manual Básico 2 COMANDOS DE TERMINAL: 1 Como compilar seu código? É necessário compilar seu código para testar seu programa e saber se a lógica utilizada está correta para solucionar todas as possíveis
Ambiente de Desenvolvimento
Ambiente de Desenvolvimento Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
Conhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
Linguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva [email protected] Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Métodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 0 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1. Definição 1.. Comandos Básicos 1..1. Comando de saída: impressão na tela 1... Case sensitive 1..3. Função
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Tela inicial do Editor de programas do DEV C++ Dicas
Gerando um programa executável a partir de um módulo Python
Gerando um programa executável a partir de um módulo Python Wendel Melo (Departamento de Ciência da Computação UFRJ), Notas de aula de Computação II 15/03/2012 A linguagem de programação Python segue o
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1
Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para
Figura 1: Operações para gerar um programa executável.
Uma jornada de mil milhas começa sempre com um simples passo. Lao Tse. PRIMEIROS PASSOS Para poder construir programas em C é necessário utilizar um ambiente de desenvolvimento. Por ambiente de desenvolvimento
No Windows há basicamente dois tipos de programas de usuário:
Introdução O que vem a ser um programa em C? Você talvez já tenha ouvido falar que um compilador é um programa ou ferramenta que transforma um programa fonte escrito em uma linguagem de programação de
Algoritmos e Estruturas de Dados I. Funções. Pedro Olmo Stancioli Vaz de Melo
Algoritmos e Estruturas de Dados I Funções Pedro Olmo Stancioli Vaz de Melo Exercício Brutus e Olívia foram ao médico, que disse a eles que ambos estão fora do peso ideal. Ambos discordaram veementemente
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin ([email protected]) Aula 6 Modularização Método que consiste em organizar programas grandes em pequenas partes (módulos) Cada módulo tem
#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () {
422 #include void Swap (int *a,int *b) int temp; temp=*a; *a=*b; *b=temp; main () int num1,num2; printf("\nentre com o primeiro valor: "); scanf ("%d",&num1); printf("\nentre com o segundo valor:
Programação de Computadores II. Cap. 9 Tipos Abstratos de Dados (TAD)
Programação de Computadores II Cap. 9 Tipos Abstratos de Dados (TAD) Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados
TAD: Tipo Abstrato de Dados (parte 2)
TAD: Tipo Abstrato de Dados (parte 2) SCC0502 Algoritmos e Estruturas de Dados I Programa em C pode ser dividido em vários arquivos Arquivos fonte com extensão.c Denominados de módulos Cada módulo deve
Algoritmos RESUMO - LINGUAGEM C
Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado
Algoritmos e Linguagem de Programação em C. Professor: Bernard Cardoso Oliveira
Algoritmos e Linguagem de Programação em C Professor: Bernard Cardoso Oliveira E-mail: [email protected] 21/07/2014 Conceitos Básicos - Revisão Linguagem de Programação: é um conjunto de
MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016
MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções
Programação Básica. Estrutura de um algoritmo
Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse
TAD: Tipo Abstrato de Dados (parte 2)
TAD: Tipo Abstrato de Dados (parte 2) SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Modularização em C Programa em C pode ser dividido em vários arquivos Arquivos fonte com extensão.c
Sobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Regras de estilo para código fonte em C/C++
Regras de estilo para código fonte em C/C++ No processo de escrita de código fonte em uma linguagem de alto nível é interessante que o programador se preocupe não somente com a correção sintática e lógica
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Programação 2010/2011 MEEC
Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuração
Algoritmos, Estruturas de Dados e Tipos Abstratos de Dados (TADs)
Algoritmos, Estruturas de Dados e Tipos Abstratos de Dados (TADs) SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic
PROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Conceitos Básicos de Programação
BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de
Programação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.
1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um
Motivação. Estrutura de Dados. Motivação. Motivação. Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto de software
Estrutura de Dados Aula 01 -Tipos Abstratos de de Dados Prof. Ms. Luiz Alberto Contato: [email protected] Motivação Por que estudar os tipos de dados? Duas são as principais preocupações em um projeto
Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador
Prof. Araken Medeiros [email protected] O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton [email protected] Introdução A linguagem C foi inventada por Dennis Ritchie e
Abaixo seguem os comandos e suas particularidades, bem como exemplos para o indicador de linha
Trabalho II de CI067 - Oficina de Computação 2º Semestre - 2018 Tema: Editor compactador de arquivos Data de Entrega: 1. Introdução O editor a ser implementado edit([arquivo]) edita arquivos de texto ASCII.
Introdução a Sistemas Abertos. Ambiente shell
Introdução a Sistemas Abertos Ambiente shell Conteúdo Programático Login e Logout Iniciando e Desligando o Sistema Tipos de arquivo Texto Binário Arquivos e Diretório Manipulação de arquivos e diretório
