SlideShare uma empresa Scribd logo
1 de 28
Trilha C/C++
Wanderley Caloni
Sócio-Desenvolvedor da
Entendendo a Compilação
Onde sou? Quem estou?
• Segurança da Informação
– Sistema de Controle de Usuários e Aplicações
– Criptografia de Discos
Onde sou? Quem estou?
• Análise de Trojans
– Engenharia Reversa
– Crash Dump Analysis
Onde sou? Quem estou?
• Mercado Financeiro
– Alto Desempenho
– Análise de Risco
Onde sou? Quem estou?
• Mercado Financeiro
– Alto Desempenho
– Algoritmos
– Cotações
– Mobile
Onde sou? Quem estou?
Onde sou? Quem estou?
Onde sou? Quem estou?
Vamos ao que interessa?
Three Easy Steps
• Preprocessamento
• Compilação
• Linkedição
#include <Preprocessamento>
• Não faz parte da linguagem/sintaxe
• Uso excessivo desencorajado
• Substituição de arquivos e símbolos
• #
• #
• #
• ...
#include <Preprocessamento>
#include <Preprocessamento>
#include <Preprocessamento>
#include <Preprocessamento>
#include <Preprocessamento>
#include <Preprocessamento>
#include <Preprocessamento>
stdio.h header.h
source.c
#include
Preprocessador
stdio.h
header.h
source.c
#include <Preprocessamento>
Compilação
int cannotConvertError(const char* message)
{
int ret = message[0]; return ret;
}
int ret = cannotConvertError(3);
error C2664: 'cannotConvertError' : cannot convert parameter
1 from 'int' to 'const char *'
Compilação
if( test() )
something;
something-else;
else
else-something;
error C2181: illegal else without matching if
Compilação
while( (x < z) && func(x, func2(y) != 2 )
{
something;
}
error C2143: syntax error : missing ')' before '{'
Compilação
Linkedição
Linkedição
Linkedição
libc.lib boost.lib
source.obj
Linker project.exe
Perguntas?
wanderley@caloni.com.br
twitter
saite
e-mail

Mais conteúdo relacionado

Semelhante a Trilha C/C++ Compilação

Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014
Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014
Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014Rafael Uchôa
 
Minha História: De cientista à QA em um ano
Minha História: De cientista à QA em um anoMinha História: De cientista à QA em um ano
Minha História: De cientista à QA em um anoCarla Crude
 
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...Ricardo Maganhati Junior
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...LeandroTrindade19
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesBruno Alexandre
 
Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Leandro Magnabosco
 
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
Qa test   roadsec-bh - testes de segurança, não comece pelo fim!Qa test   roadsec-bh - testes de segurança, não comece pelo fim!
Qa test roadsec-bh - testes de segurança, não comece pelo fim!Welington Monteiro
 
Desenvolvimento web seguro para leigos
Desenvolvimento web seguro para leigosDesenvolvimento web seguro para leigos
Desenvolvimento web seguro para leigosPedro Neto
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testPaulo Renato Lopes Seixas
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...Alexandro Silva
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasSegInfo
 
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTs
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTsTendências, Tecnicas e soluções no combate aos ataques de APTs e AVTs
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTsMauro Risonho de Paula Assumpcao
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Camilla Gomes
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e OportunidadesMarcio Cunha
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 

Semelhante a Trilha C/C++ Compilação (20)

Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014
Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014
Overview sobre Arquitetura de Sofware na Prática - CEJUG - Naskar - 13-09-2014
 
Minha História: De cientista à QA em um ano
Minha História: De cientista à QA em um anoMinha História: De cientista à QA em um ano
Minha História: De cientista à QA em um ano
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
 
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...
Tenha mais privacidade utilizando ferramentas open source em tempos de vigilâ...
 
CNASI Cyber, Forense e CISSP
CNASI Cyber, Forense e CISSPCNASI Cyber, Forense e CISSP
CNASI Cyber, Forense e CISSP
 
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
Como invadir uma exchange - Um relatório geral de segurança de corretoras de ...
 
Palestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de RedesPalestra: Pentest - Intrusão de Redes
Palestra: Pentest - Intrusão de Redes
 
Análise de Malware
Análise de MalwareAnálise de Malware
Análise de Malware
 
Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!Infosec e pentesting - Escolha o seu lado!
Infosec e pentesting - Escolha o seu lado!
 
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
Qa test   roadsec-bh - testes de segurança, não comece pelo fim!Qa test   roadsec-bh - testes de segurança, não comece pelo fim!
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
 
Desenvolvimento web seguro para leigos
Desenvolvimento web seguro para leigosDesenvolvimento web seguro para leigos
Desenvolvimento web seguro para leigos
 
Backtrack: Solucão open source para pen test
Backtrack: Solucão open source para pen testBacktrack: Solucão open source para pen test
Backtrack: Solucão open source para pen test
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi... Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas ( Versão Segi...
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTs
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTsTendências, Tecnicas e soluções no combate aos ataques de APTs e AVTs
Tendências, Tecnicas e soluções no combate aos ataques de APTs e AVTs
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
Desafios Futuros e Oportunidades
Desafios Futuros e OportunidadesDesafios Futuros e Oportunidades
Desafios Futuros e Oportunidades
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Cloud Ops
Cloud OpsCloud Ops
Cloud Ops
 

Mais de Wanderley Caloni

Apresentação da BitForge
Apresentação da BitForgeApresentação da BitForge
Apresentação da BitForgeWanderley Caloni
 
Debug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoDebug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoWanderley Caloni
 
Antidebugging eu não quero que você mexa no meu código
Antidebugging   eu não quero que você mexa no meu códigoAntidebugging   eu não quero que você mexa no meu código
Antidebugging eu não quero que você mexa no meu códigoWanderley Caloni
 
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-AleatoriedadeComo Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-AleatoriedadeWanderley Caloni
 

Mais de Wanderley Caloni (9)

Co co-co-co-co-corrotinas
Co co-co-co-co-corrotinasCo co-co-co-co-corrotinas
Co co-co-co-co-corrotinas
 
Vcpkg e vc td a ver
Vcpkg e vc td a verVcpkg e vc td a ver
Vcpkg e vc td a ver
 
Stack overflow
Stack overflowStack overflow
Stack overflow
 
Apresentação da BitForge
Apresentação da BitForgeApresentação da BitForge
Apresentação da BitForge
 
Debug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um ResumoDebug Remoto com WinDbg: Um Resumo
Debug Remoto com WinDbg: Um Resumo
 
GitIndex e SourceServer
GitIndex e SourceServerGitIndex e SourceServer
GitIndex e SourceServer
 
Antidebugging eu não quero que você mexa no meu código
Antidebugging   eu não quero que você mexa no meu códigoAntidebugging   eu não quero que você mexa no meu código
Antidebugging eu não quero que você mexa no meu código
 
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-AleatoriedadeComo Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade
 
Patch de Emergencia
Patch de EmergenciaPatch de Emergencia
Patch de Emergencia
 

Trilha C/C++ Compilação