Categoria

Linguagem C

HTTP server minimalista em C
Linguagem C

HTTP server minimalista em C

O protocolo HTTP opera sobre TCP e segue um modelo requisição-resposta. Uma requisição HTTP mínima contém:

05/05/2026
Inline assembly: quando o C não é suficiente
Linguagem C 05/05/2026

Inline assembly: quando o C não é suficiente

Inline assembly é um recurso da linguagem C que permite inserir instruções em assembly diretamente no código-fonte C, sem a necessidade de criar arquivos separados com extensão .s. Essa funcionalidade existe porque, embora C ofereça alto nível de abstração e portabilidade, há situações em que o programador precisa de controle absoluto sobre o hardware — seja para otimizações críticas de desempenho, acesso a instruções especiais da CPU (como RDTSC, CPUID, ou operações atômicas) ou manipulação dir

Fork e processos filhos
Linguagem C 05/05/2026

Fork e processos filhos

Um processo é uma instância de um programa em execução. Cada processo possui um identificador único chamado PID (Process ID), um espaço de endereçamento próprio (memória, pilha, heap) e um contexto de execução (registradores, contador de programa). No Linux, os processos organizam-se em uma hierarquia: todo processo (exceto o init, PID 1) tem um processo pai. Essa estrutura forma uma árvore de processos.

Funções de string: strlen, strcpy, strcat, strcmp
Linguagem C 05/05/2026

Funções de string: strlen, strcpy, strcat, strcmp

Em linguagem C, strings são representadas como vetores de caracteres terminados pelo caractere nulo (\0). O cabeçalho <string.h> fornece um conjunto de funções essenciais para manipulação dessas sequências. Entre as mais utilizadas estão strlen, strcpy, strcat e strcmp, que permitem medir, copiar, concatenar e comparar strings, respectivamente.

Funções: declaração, definição e protótipos
Linguagem C 05/05/2026

Funções: declaração, definição e protótipos

Funções são blocos de código nomeados que executam uma tarefa específica. Em Linguagem C, elas são o principal mecanismo para estruturar programas de forma modular. Utilizar funções traz benefícios como:

Fuzzing em C com libFuzzer ou AFL
Linguagem C 05/05/2026

Fuzzing em C com libFuzzer ou AFL

Fuzzing é uma técnica de teste automatizado que consiste em fornecer entradas malformadas, aleatórias ou inesperadas a um programa, com o objetivo de provocar falhas como crashes, violações de memória ou comportamentos indefinidos. Em C, onde o gerenciamento manual de memória expõe vulnerabilidades graves (buffer overflow, use-after-free, double free), o fuzzing é uma prática essencial para segurança e robustez.

Embedded C: restrições e boas práticas
Linguagem C 05/05/2026

Embedded C: restrições e boas práticas

Programar para sistemas embarcados em C exige uma mudança de mentalidade em relação ao desenvolvimento para desktop. Microcontroladores típicos possuem entre 2 KB e 512 KB de RAM, e Flash de 32 KB a 2 MB. A stack, frequentemente limitada a poucos kilobytes, não tolera alocações profundas ou recursão excessiva.

Entrada e saída com printf e scanf
Linguagem C 05/05/2026

Entrada e saída com printf e scanf

A linguagem C oferece funções poderosas para entrada e saída de dados através da biblioteca padrão <stdio.h>. Esta biblioteca fornece as funções printf (saída formatada) e scanf (entrada formatada), que são essenciais para a comunicação entre o programa e o usuário.

Enums em C
Linguagem C 05/05/2026

Enums em C

Enumerações (enums) são um tipo de dado definido pelo programador em C que permite criar um conjunto de constantes nomeadas inteiras. O propósito principal é tornar o código mais legível e auto-documentado, substituindo números mágicos por nomes significativos.

Escopo de variáveis e storage classes
Linguagem C 05/05/2026

Escopo de variáveis e storage classes

Em Linguagem C, o escopo de uma variável define a região do código onde ela é visível e pode ser acessada. Compreender escopo é fundamental para escrever programas organizados, evitar conflitos de nomes e gerenciar corretamente a memória. Cada variável em C possui um escopo e um tempo de vida, determinados por onde e como ela é declarada.