pré-processador cgeraldo/lpnovo/16.pre_processador.pdf · pré-processador c . introdução um...

20
Pré-Processador C

Upload: others

Post on 31-Oct-2020

0 views

Category:

Documents


0 download

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

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

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

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

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

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

#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

#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

#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

#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

#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

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

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

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

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

#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

#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

#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

#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

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

#pragma

20