conde de acomayta

Páginas: 6 (1311 palabras) Publicado: 9 de julio de 2013
Seminario de Lenguajes
Opción C
XO R
BYTE

BIT

C

1 01 000 1 10 01 100 1

2

3

W HILE
HEXA

Clase 5

XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Clase 5 - Temario

Repaso Clase Anterior
Punteros en C
Arreglos en C
Alocación Dinámica de Memoria
XO R
BIT
BYTE

C

10100011 001 100 1Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

El Preprocesador
Editor

Archivo
Fuente

Archivo
Fuente
Modificado

Código
OBJ

......

Linkedición
Linkedición

Compilación
Compilación

Pre -- Procesador
Pre Procesador

XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la claseanterior
Operadores de Macros
#: Si x es un parámetro de una macro, #x es el
parámetro actual correspondiente representado
como una cadena de caracteres.
##: Se aplica cuando se procesa la macro y se
reemplazan los parámetros formales por los
actuales. Los dos elementos que rodean alBIT
XO R
operador, se combinan.
Ver Ejemplo: directivas.pdf

BYTE

C

10100011 001 100 1
Seminariode Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior
Directivas
#include
#define
#undef
#if - #else - #ifdef - #ifndef - #elif - #endif
XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior
#undef: permite dejar sin efecto un define previo
#define MAX 12
..#undef MAX
#define MAX 11
XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior
Compilación condicional
#if - #else - #ifdef - #ifndef - #elif - #endif
#if defined(MAX)
....
#ifdef MAX
.....
#ifdef DEBUG
....sentencias a testear...

XO R

#endif
BYTE

BIT

C

10100011 001 100 1Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior
Compilación condicional
#ifndef _HEADER
#define _HEADER
#ifndef MAX
#define MAX 100
#endif
#endif

XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior

La opción -D

La opción -E

gcc -E -DLINUXarchi1.c
>archi1.pp

gcc -o prog
-DLINUX archi1.c
#include

#include

#ifdef LINUX

#ifdef LINUX

#define MENSAJE "Estamos en Linux"

#define MENSAJE "Estamos en Linux"

#else

#else

#define MENSAJE "NO estamos en
Linux"

#define MENSAJE "NO estamos en Linux"

#endif

#endif
XO R

main(){
printf(MENSAJE);
}

main(){

BYTE

printf(MENSAJE);
}

BIT

C10100011 001 100 1

Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Repaso de la clase anterior
Pensar...¿Son correctas?
Definir la siguiente macro:

#define inc #include
inc
Incluir la siguiente linea en archi.c

#include “archi.c”

XO R

BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

Manejode punteros

XO R
BYTE

BIT

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

2

3

W HILE
HEXA

¿Cómo trabaja la Memoria?








Cada posición de memoria almacena un
carácter o un byte (8 bits).
Cada posición tiene una dirección
específica, consecutiva. Algunos tipos se
acceden de más de un byte. 2 bytes
consecutivos componen una palabra.Los programas comparten el espacio de
direcciones con el sistema operativo.
XO R
BIT
Los datos del programa y el programa se
BYTE
2
almacenan en memoria al ser ejecutados.

C

10100011 001 100 1
Seminario de Lenguajes – Opción Lenguaje C

3

W HILE

HEXA

¿Cómo trabaja la memoria?


Está organizada en segmentos.


text segment código compilado del programa

−...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Conde
  • Conde
  • Cond
  • El Conde
  • Conde
  • Conde
  • un conde
  • Cond

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS