Programando em C para Linux, Unix e Windows
Entre os assuntos abordados, destacam-se:
- parte básica da linguagem C para qualquer ambiente de programação e sistema operacional
- tratamento de data e hora
- sistema de arquivos do Linux e Unix
- tratamento de sinais em Linux e Unix
- criação de processos
- programação do seu daemon
- utilização dos protocolos TCP/UDP para troca de mensagens
- criação do seu próprio servidor TCP/UDP
- recomendações de padronização de programação e documentação
- relação das funções de usuário e de sistema mais utilizadas em ambientes Linux e Unix
Nenhum comentário encontrado
Novo comentário
1. Informações Básicas
1.1 História
1.2 C de K&R
1.3 C ANSI e C ISO
1.4 C99
1.5 Comentários
1.6 Constantes Numéricas
1.7 Outras Constantes
1.8 Estrutura de um Programa
1.9 Função main
1.10 O que main devolve
1.11 O C é “Case Sensitive”
1.12 Palavras Reservadas do C
2. Tipos de Dados
2.1 Tipos Básicos
2.2 Abrangência e Modificadores de Tipo
2.3 Nomenclatura de Variáveis
2.4 Definição de Variáveis
2.5 Atribuição de Valores
2.6 Definição de Constantes
2.7 Conversão de Tipos
2.8 Declaração typedef
2.9 Operador sizeof
3. Entrada e Saída
3.1 Função printf
3.2 Formatadores de Tipos
3.3 Indicando o Tamanho
3.4 Função putchar
3.5 Função scanf
3.6 Função getchar
4. Operadores
4.1 Operadores Aritméticos
4.2 Operadores Unários
4.3 Operadores de Atribuição
4.4 Operadores Relacionais
4.5 Prioridade de Avaliação
4.6 Operadores Lógicos
4.7 Assinalamento de Variáveis
4.8 Parênteses e Colchetes como Operadores
4.9 Operador & e * para Ponteiros
5. Comandoes de Seleção
5.1 Comando if
5.2 Comando if...else...
5.3 Operador cscart_
5.4 Comando switch...case
6. Comando de Repetição
6.1 Comando for
6.2 Comando while
6.3 Comando do...while
6.4 Comando break
6.5 Comando continue
6.6 Comando goto
6.7 Comando exit
7. Definições de Funções
7.1 Criação de Funções
7.2 Função e Protótipo (assinatura da função)
7.3 Definindo Funções
7.4 Comando return
7.5 Escopo de Variáveis
7.6 Variáveis Globais
7.7 Variáveis Locais
7.8 Definição extern
7.9 Definição static
7.10 Função atexit
8. Pré-Compilação
8.1 Fases de uma compilação
8.2 Diretiva #include
8.3 Diretiva #define
8.4 Diretivas #if, #else e #endif
8.5 Diretivas #ifdef e #ifndef
8.6 Diretiva #undef
8.7 Diretiva #error
8.8 Variáveis predefinidas
9. Vetores e Matrizes
9.1 Definindo Vetores
9.2 Definindo Matrizes
9.3 Matrizes n-Dimensionais
9.4 Inicializando Matrizes
9.5 Matrizes como Parâmetros
10. Strings
10.1 Implementação de Strings
10.2 Entrada/Saída de Strings
10.3 String como vetor
10.4 Função strlen
10.5 Função strcat
10.6 Função strcpy
10.7 Função strcmp
10.8 Função sprintf
10.9 Função sscanf
10.10 Função strncat
10.11 Função strncpy
10.12 Função strncmp
11. Ponteiros
11.1 Conceito Básico
11.2 Definição de Ponteiros
11.3 Uso de Ponteiros
11.4 Parâmetros de Saída
11.5 Operações com Ponteiros
11.6 Ponteiros e Matrizes
11.7 Ponteiros e Strings
11.8 Argumentos de Entrada
11.9 Função strstr
11.10 Função strtok
12. Manipulação de Arquivos (padrão ANSI)
12.1 Conceitos Importantes
12.2 Ponteiro para Arquivos
12.3 Função fopen
12.4 Função fclose
12.5 Função fread
12.6 Função fwrite
12.7 Função fgets
12.8 Função fseek
12.9 Função feof
12.10 Função fprintf
12.11 Função fscanf
12.12 Função fflush
12.13 Função ftell
12.14 Função ferror e clearerr
12.15 Streams Padão
13. Alocação de Memória
13.1 Configuração da Memória
13.2 Função malloc
13.3 Função free
13.4 Função calloc
13.5 Função realloc
13.6 Função memset
14. Estruturas
14.1Definição de Estruturas
14.2 Utilização de Estruturas
14.3 Definindo mais Estruturas
14.4 Estruturas e o typedef
14.5 Estruturas Aninhadas
14.6 Estruturas e Matrizes
14.7 Estruturas e Ponteiros
14.8 Pointer Member
15. Data e Hora
15.1 Função time
15.2 Trabalhando com datas
15.3 Funções asctime e ctime
15.4 Funções gmtime e localtime
15.5 Função mktime
15.6 Função sfrtime
16. Tratamento de Erros
16.1 Variável errno
16.2 Função strerror
16.3 Função perror
17. Definições Avançadas
17.1 Definição de Uniões
17.2 Utilização de Uniões
17.3 Lista Enumerada
17.4 Estruturas de Bits
17.5 Operadores Bit a Bit
17.6 Deslocamento de Bits
17.7 Deslocamento de Bits Circular
18. Manipulação de Arquivos (padrão Linux e Unix)
18.1 O Sistema de Arquivo Tipo Unix
18.2 Descritores Pré-alocados
18.3 Função open
18.4 Função creat
18.5 Função close
18.6 Função read
18.7 Função write
18.8 Função lseek
18.9 Função remove
18.10 Função unlink
18.11 Função rename
19. Buscando Algumas Informações no Linux e Unix
19.1 Funções getpid e getppid
19.2 Funções getuid e geteuid
19.3 Função uname
19.4 Função access
19.5 Função stat
19.6 Função umask
20. Criando Processos no Linux e Unix
20.1 Criação de processos no sistema operacional
20.2 Função fork
20.3 Função wait
20.4 Função waitpid
20.5 Função execl
20.6 Função system
21. Tratamento de Sinais em Linux e Unix
21.1 Conceito e tratamento de Sinais
21.2 Alguns Sinais
21.3 Função signal
21.4 Função kill
21.5 Função raise
21.6 Função sleep
21.7 Cuidados com algumas funções (funções reentrantes)
22. Daemons (Serviços) em Linux e Unix
22.1 Conceito de daemon
22.2 Regras para codificação de um daemon
22.3 Função setsid
22.4 Registrando erros com a função syslog
23. Programação para Rede
23.1 Função socket
23.2 Estrutura sockaddr
23.3 Funções htonl, htons, ntohl, ntohs
23.4 Função bind
23.5 Funções inet_aton, inet_addr e inet_ntoa
23.6 Função connect
23.7 Função listen
23.8 Função accept
23.9 Função send
23.10 Função recv
23.11 Funções sendto e recvfrom
23.12 Funções close e shutdown
23.13 Função getpeername
23.14 Função gethostbyname
23.15 Diagrama de servidor/cliente TCP básico
23.16 Exemplo completo de um servidor TCP
23.17 Exemplo completo de um cliente TCP
23.18 Diagrama de servidor/cliente UDP básico
23.19 Exemplo completo de um servidor UDP
23.20 Exemplo completo de um cliente UDP
24. Técnicas de Programação para Facilitar a Depuração, Documentação, Economia e Execução de Processos
Apêndice A. Programas Avançados
A.1 Recursividade
A.2 Ordenação
A.3 Pesquisa
Apêndice B. Ajuda
B.1 Obtendo ajuda no Linux e Unix
B.2 Seções do Manual
B.3 Divisão da Documentação
B.4 Exemplo de Utilização
Apêndice C. Compilando no Linux
Apêndice D. Utilizando o LCC-Win32
D.1 Instalação
D.2 Criando Projetos no LCC-Win32
D.3 Criando um Programa e Compilando
Apêndice E. Guia de Referência das Funções
Bibliografia
Índice Remissivo
Sobre autor
|
Marcos LaureanoÉ graduado em Processamento de Dados pela ESEEI, Pós-graduado em Administração pela FAE Business School e Mestre em Informática Aplicada pela PUC do Paraná. Doutorando em Informática Aplicada pela PUC do Paraná. Trabalha com programação em C no ambiente Unix (AIX/HP-UX) desde 1997 e Linux desde 2000, sendo especialista em segurança de sistemas operacionais. É professor de graduação e pós-graduação, tendo lecionado em várias instituições nos últimos anos. Possui artigos publicados sobre programação, sistemas operacionais e segurança de sistemas. Atualmente leciona disciplinas relacionadas à segurança, programação, redes de computadores e sistemas operacionais e segurança de sistemas. Atualmente leciona disciplinas relacionadas à segurança, programação, redes de computadores e sistemas operacionais em cursos de graduação e pós-graduação do Centro Universitário Franciscano (UNIFAE) e atua como consultor na área de projetos de desenvolvimento e segurança de sistemas. |



