pré-processador cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · pré-processador c ....

20
Pré-Processador C

Upload: others

Post on 31-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Pré-Processador C

Page 2: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

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/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Diretivas

3

Page 4: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

4

Page 5: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

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/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#define

6

Page 7: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#define

7

Page 8: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#define

8

Page 9: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#define

9

Page 10: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#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/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Diretivas Condicionais

11

Page 12: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Diretivas Condicionais

12

Page 13: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Diretivas Condicionais

13

Page 14: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Exemplo

14

Page 15: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#ifdef

15

Page 16: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#ifdef exemplo 1.  #ifndef  FILENAME_H  2.  #define  FILENAME_H  

3.  ...  

4.  #endif  

16

Page 17: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#undef

17

Page 18: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#line

18

Page 19: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

Macros Pré-definidas

19

Page 20: Pré-Processador Cgeraldo/lp/7.pre_processador.pdf · 2017. 4. 16. · Pré-Processador C . Introdução • Um programa em C é transformado em código objeto em duas etapas: •

#pragma

20