Programação
C
Miscelânea
Comentários Comentários começam com /* e se extendem até o */. Versões mais novas de C têm supo...
Variáveis e constantes
Declaração Ao contrário de linguagens como Python, em C toda variável deve ser declarada antes d...
Operadores
De atribuição O operador = denota uma atribuição. Sempre. Em qualquer contexto - mesmo dentro de...
Ponteiros
Um ponteiro é uma variável que armazena o endereço de outra variável. Ponteiros devem ser declara...
Fluxo de execução
Condicionais if Executa um bloco de comandos se a condição vale true. Exemplo: /* módulo do nú...
Funções
Ao contrário de linguagens como Python, em C, quase todo código deve estar dentro de alguma funçã...
Tipos definidos pelo usuário
struct Uma struct é um tipo composto por vários outros. Por exemplo: struct cliente { char *...
Preprocessador
O preprocessamento é uma das primeiras etapas na compilação do código em C. Toda linha que começ...
Biblioteca padrão
I/O (stdio.h) printf Imprime uma string com formatação na saída padrão. A formatação começa com...
Tópicos avançados
O ponteiro genérico void* Em C, o tipo void* é especial: uma variável desse tipo é um ponteiro ...
Gambiarras (18+)
Orientação a objetos: Parte 2 Herança / Composição Essencialmente, é possível forjar uma heranç...
Assembly x86-64
Introdução ao assembly, escrita por mim, em inglês: https://gitlab.com/luamfb/intro_x86-64
Sobre
O que é assembly? O que é x86-64? Por que aprender isso? Todas essas perguntas estão respondidas ...
0 - Básico
Este arquivo explica o básico de assembly.
1 - I/O
Este arquivo explica como funciona I/O (input/output) em assembly.
2 - Endereçamento de memória
Este arquivo explica como funcionam acessos a memória em assembly.
3 - Jumps
Este arquivo explica como funcinam jumps (desvios) condicionais e incondicionais, e como eles imp...
4 - Funções folha
Este arquivo explica as funções folha: funções que não chamam nenhuma outra função.
5 - Funções não-folha
Este arquivo explica as funções não-folha (que chamam outras funções) e por que elas são diferent...
6 - libc
Este arquivo explica como chamar funções da biblioteca padrão de C (e por extensão, de qualquer b...
7 - Ponto Flutuante
Este arquivo explica como lidar com ponto flutuante em assembly usando diferentes precisões (floa...