pré-processador cgeraldo/lpnovo/16.pre_processador.pdf · pré-processador c . introdução um...
TRANSCRIPT
![Page 1: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/1.jpg)
Pré-Processador C
![Page 2: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/2.jpg)
Introdução Um programa em C é transformado em
código objeto em duas etapas:
uma de PRE-PROCESSAMENTO e a outra de COMPILAÇÃO propriamente dita.
Na primeira etapa, as DIRETIVAS de PRE-PROCESSAMENTO são convertidas em código C; na segunda etapa, o código C resultante é compilado.
2
![Page 3: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/3.jpg)
Diretivas
3
![Page 4: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/4.jpg)
4
![Page 5: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/5.jpg)
Include - exemplo 1. /* main.c **/
2. #include <stdio.h> /* arquivos de
cabeçalho padrão */ 3. #include <stdlib.h>
4. #include "list.h" /* arquivos de
cabeçalho do projeto */ 5. #include "xcpt.h"
6. int main(int argc, char *argv[]) 7. { 8. ... 9. }
5
![Page 6: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/6.jpg)
#define
6
![Page 7: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/7.jpg)
#define
7
![Page 8: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/8.jpg)
#define
8
![Page 9: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/9.jpg)
#define
9
![Page 10: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/10.jpg)
#define exemplo 1. #define NULL_POINTER_XCPT "null pointer" 2. #define INDEX_OUT_OF_BOUNDS_XCPT "index out of bounds" 3. #define OVERFLOW_XCPT "overflow" 4. #define UNDERFLOW_XCPT "underflow" 5. #define ILLEGAL_ARGUMENT_XCPT "illegal argument"
10
![Page 11: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/11.jpg)
Diretivas Condicionais
11
![Page 12: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/12.jpg)
Diretivas Condicionais
12
![Page 13: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/13.jpg)
Diretivas Condicionais
13
![Page 14: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/14.jpg)
Exemplo
14
![Page 15: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/15.jpg)
#ifdef
15
![Page 16: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/16.jpg)
#ifdef exemplo 1. #ifndef FILENAME_H 2. #define FILENAME_H
3. ...
4. #endif
16
![Page 17: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/17.jpg)
#undef
17
![Page 18: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/18.jpg)
#line
18
![Page 19: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/19.jpg)
Macros Pré-definidas
19
![Page 20: Pré-Processador Cgeraldo/lpnovo/16.pre_processador.pdf · Pré-Processador C . Introdução Um programa em C é transformado em código objeto em duas etapas: uma de PRE-PROCESSAMENTO](https://reader036.vdocuments.mx/reader036/viewer/2022081409/607990dddb2a45108c389ad1/html5/thumbnails/20.jpg)
#pragma
20