Programa do Curso
Introdução
- Visão geral das funcionalidades e aplicações do C
Preparando o Ambiente de Desenvolvimento
- Escolhendo um IDE
- Configurando o compilador
Escrevendo um Programa de Exemplo
- Definindo o problema
- Codificando conforme os requisitos
Definindo o Escopo de Variáveis e Funções
- Entendendo escopo, visibilidade e tempo de vida
- Trabalhando com classes de armazenamento: auto, extern, register, static
Gestão de Dados em um Programa C
- Alem dos tipos de dados primitivos
- Trabalhando com tipos de dados avançados: estruturas, listas encadeadas, etc.
- Armazenando diferentes tipos de dados no mesmo local de memória
Modificando as Propriedades de uma Variável
- Alem dos modificadores de tipo
- Trabalhando com qualificadores de tipo: constante, volátil, etc.
Manipulando Bits em C
- Trabalhando com dados menores que um byte
- Trabalhando com operadores de manipulação de bits
Controle do Fluxo do Seu Programa
- Alem da sequência
- Usando a instrução goto
Lendo e Escrevendo Dados
- Revisão das funções de Entrada/Saída
- Melhorando a legibilidade da saída
Desenvolvendo Código Multiplataforma
- Entendendo diretivas do compilador
- Compilando código condicionalmente
Aprimorando o Desempenho do Programa
- Definindo macros para executar fragmentos de programa
Alocando Memória Dinamicamente
- Vantagem do uso de ponteiros: velocidade de execução
- Ponteiros para funções
- Acessando memória e manipulando o endereço
Depurando um Programa C
- Técnicas avançadas para verificar, detectar e corrigir erros
- Trabalhando com gdb (Gnu Debugger)
Criando uma Biblioteca Estática
- Como uma biblioteca estática é vinculada ao arquivo executável
- Criando uma biblioteca estática
Criando uma Biblioteca Compartilhada
- Bibliotecas estáticas vs bibliotecas compartilhadas (dinâmicas)
- Como uma biblioteca compartilhada é vinculada e carregada na memória em tempo de execução
- Criando uma biblioteca compartilhada
Abstração de Dados no Seu Programa
- Visão geral de interface, especificação e implementação
- Criando um tipo de dados abstrato
- Teste de regressão de um tipo de dados abstrato
Pesquisa e Ordenação de Dados
- Pesquisando arrays usando busca linear, busca binária, etc.
- Ordenando arrays usando ordenação por seleção, inserção, bolha
Comunicação Interprocessual e Sinais
- Entendendo processos, sockets e sinais
- Implementando IPC usando arquivos compartilhados, memória compartilhada, pipes, filas de mensagens, sockets, semáforos, etc.
Fazendo seu Programa C Rodar em Paralelo
- Executando diferentes partes de um programa simultaneamente através de multithreading
- Escrevendo uma thread
Programação Avançada de Rede
- Revisão de TCP, UDP, IP e outros protocolos dominantes
- Servindo múltiplos portos, sobrevivendo a interrupções abruptas da rede, etc.
- Escrevendo poderosas APIs de socket
Rumo ao Código de Alta Qualidade
- Avaliação de código entre pares e programação paralela
- A importância da codificação iterativa (refatoração)
Resumo e Conclusão
Requisitos
- Experiência com programação em C
Público-Alvo
- Programadores
- Desenvolvedores
Declaração de Clientes (2)
os exercícios e a metodologia
Javier MIllan Rios - si
Curso - Advanced C Programming
Máquina Traduzida
Um escopo amplo e interessante
Maciej Perkowski - Nordic Semiconductor
Curso - Advanced C Programming
Máquina Traduzida