Download - AC 0 Eclipse
![Page 1: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/1.jpg)
2º curso / 2º cuatr.
Grado en Ing. Informática
2º curso / 2º cuatr.
Grado en Ing. Informática
2º curso / 2º cuatr.
Grado en Ing. Informática
Seminario 0. Entorno de programación: Plataforma Eclipse
Arquitectura de Computadores
![Page 2: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/2.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 2
![Page 3: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/3.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 3
![Page 4: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/4.jpg)
AC AC
¿Qué es Eclipse?
Es un entorno de desarrollo integrado (IDE- Integrated Development Environments) más una serie de complementos (plug-in) que lo personalizan para distintos lenguajes de programación ¿IDE? es una aplicación para el desarrollo de software. Incluye
típicamente: Editor de código fuente Herramientas para la generación de código ejecutable: compilador,
enlazador, ensamblador Depurador
Con complementos (plug-in) se personaliza para varias lenguajes de programación (C/C++, Java, Python, etc.)
Es un software libre de código abierto que se puede usar en Linux y Windows
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 4
![Page 5: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/5.jpg)
AC AC
¿Qué es CDT?
Eclipse CDT (C/C++ Development Tooling) es el nombre que recibe el IDE Eclipse de C/C++ (IDE con el plug-in de C/C++)
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 5
Permite editar/generar/depurar código C/C++ Proporciona un editor de código fuente
Usa generadores de código ejecutable de terceros: Compilador, enlazador, ensamblador, etc.
(de GNU, de Intel, MinGW, etc.)
Usa depuradores de código fuente de terceros (p. ej. gdb de GNU)
Enlazador
(linker)
Ensamblador
(Assembler)
Compilador
(Compiler)
Ejecutable (.exe, . )
Código objeto (.o)
Código ensamblador (.asm, .s)
Código alto nivel
(.cpp, .c, .f90)
![Page 6: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/6.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 6
![Page 7: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/7.jpg)
AC AC
Usuarios Eclipse
Según un estudio de IDC (International Data Corporation) hay 2.27 millones de usuarios de Eclipse
Ejemplo de vendedores que han adoptado Eclipse como IDE para, al menos, alguna herramienta de programación:
Intel (C++, Fortran Compilers para Linux)
Texas Instruments (Code Composer Essentials)
Altera (NIOS II IDE)
Xilinx (Platform Studio SDK, Embedded Development Kit)
...
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 7
![Page 8: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/8.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP
¿Qué es TORQUE?
Cluster de prácticas
Ejecución del ejemplo Hello OpenMP en el cluster
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 8
![Page 9: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/9.jpg)
AC AC
Instalación
Descargar la versión a instalar (Linux64, Linux32, Windows64 o Windows32) de http://www.eclipse.org/cdt/downloads.php Indigo (2011)
Helios (2010)
Galileo (2009)
Ganymede (2008)
…
Instalar/descomprimir
Ejecutar Introducir el camino al espacio de trabajo (workspace)
Workspace: almacenamiento por defecto
Puede que al ejecutarlo la primera vez aparezca la perspectiva de Java en lugar de la de C/C++ En cuanto se cree un proyecto C o C++ (con File->New->Project) la IDE preguntará si pasa a la
perspectiva C/C++
Se puede cambiar de perspectiva usando Window->Open Perspective
Para Indigo: en Widows->Preferences->C/C++->Code Analisys quitar algunos errores (en particular, “Symbol is not resolved”)
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 9
![Page 10: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/10.jpg)
AC AC
Ventana de bienvenida
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 10
Se puede generar
en cualquier
momento con
Help->Welcome
![Page 11: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/11.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP
¿Qué es TORQUE?
Cluster de prácticas
Ejecución del ejemplo Hello OpenMP en el cluster
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 11
![Page 12: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/12.jpg)
AC AC
Conceptos de Eclipse – workbench, perspective
Mesa de trabajo (workbench) Entorno de desarrollo integrado (IDE). Agrupa tareas en actividades de
alto nivel (perspectivas).
Consta de una o varias perspectivas
Ej. mesas de trabajo: CDT (IDE C/C++), JDT (IDE Java), etc.
Abrir otra mesa de trabajo: Window->New Window
Perspectiva (perspective) Agrupa un conjunto de tareas para realizar una actividad de alto nivel.
Visualmente es un contenedor con editores de contenidos y agrupaciones de vistas
Puede haber varias abiertas en un workbench, pero sólo una estará visible cada vez.
Ej. perspectivas: Desarrollo Java, Desarrollo C/C++, Depuración, etc.
Cambiar/visualizar perspectiva: Window->Open Perspective
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 12
![Page 13: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/13.jpg)
AC AC
Conceptos de Eclipse – workbench, perspective
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 13
Mesa de trabajo (workbench)
Barra de
menú
Perspectiva
(perspective)
Barra de
herramientas
Editor
Vistas (views)
Línea de
estado
![Page 14: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/14.jpg)
AC AC
Conceptos de Eclipse – workbench, perspective
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 14
Mesa de trabajo (workbench): barra de menú y barra de herramientas personalizada por la perspectiva
activa, línea de estado personalizada por la vista activa, una o varias perspectivas (sólo una visible)
Para cambiar
de perspectiva
![Page 15: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/15.jpg)
AC AC
Conceptos de Eclipse – editor, view
Editor (editor) Se comparte entre perspectivas de una mesa de trabajo
(workbench).
El editor que abre Eclipse depende de la extensión del fichero (.c, .cpp, .java, .txt, …)
Abrir nueva instancia editor: Window->New Editor
Vista (view) Visualiza información para ayudar a realizar una tarea.
No se comparte entre perspectivas
Ej. vista: consola, problemas, registros, variables, explorador, …
Cambiar/visualizar vista: Window->Show View
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 15
![Page 16: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/16.jpg)
AC AC
Conceptos de Eclipse – editor, view
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 16
Perspectiva (perspective): editores y vistas (views)
Para
ca
mbia
r de
vis
ta
![Page 17: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/17.jpg)
AC AC
Conceptos de Eclipse – workspace, project
Proyecto (project) Agrupación de (Window->Show View->Project Explorer)
Carpetas (src, Debug, Release, Includes, Binaries, etc.), algunas de ellas son directorios del sistema de ficheros, y
Ficheros (.h, .c, .cpp, .exe, …)
El más alto nivel de organización de los elementos de una aplicación
Espacio de trabajo (workspace) Almacén por defecto de (Window->Show View->Navigator)
Proyectos Información de administración/control de eclipse (ocultos)
Se pueden tener varios (File -> Switch Workspace)
Otros términos: http://wiki.eclipse.org/User_Interface_Guidelines#Glossary
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 17
![Page 18: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/18.jpg)
AC AC
Conceptos de Eclipse – project
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 18
Para
vis
ualiz
ar
el pro
yecto
:
Win
do
w->
Sh
ow
Vie
w->
Pro
ject
Exp
lore
r
![Page 19: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/19.jpg)
AC AC
Conceptos de Eclipse – workspace
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 19
Para
vis
ualiz
ar
el espa
cio
de
tra
bajo
Win
do
w->
Sh
ow
Vie
w->
Navig
ato
r
![Page 20: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/20.jpg)
AC AC
Organización de la mesa de trabajo de desarrollo (workbench)
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 20
Barra de menú y barra de herramientas
Línea de estado
Vista de Explorador Vista de Navegador
Vista de Outline Vista de Selección de
Make
Vista de Problemas Vista de Tareas
Vista de Consola Vista de Propiedades
Editor de código fuente
![Page 21: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/21.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello Paso 1: Crear un nuevo proyecto (Hello) Paso 2: Crear fichero fuente hello.c Paso 3: Editar fuente hello.c Paso 4: Generar ejecutable hello Paso 5: Ejecución Paso 6: Depuración
Ejemplo Hello OpenMP
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 21
![Page 22: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/22.jpg)
AC AC
Ejemplo Hello Paso 1: Crear un nuevo proyecto
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 22
![Page 23: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/23.jpg)
AC AC
Ejemplo Hello Paso 1: Crear un nuevo proyecto
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 23
Tecle
am
os n
om
bre
pro
yecto
Sele
ccio
na
mos
pro
yecto
va
cío
Seleccionamos gcc como
toolchain (compilador,
enlazador, ensamblador)
para generar ejecutable
![Page 24: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/24.jpg)
AC AC
Ejemplo Hello Paso 2: Crear fichero fuente hello.c
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 24
![Page 25: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/25.jpg)
AC AC
Ejemplo Hello Paso 2: Crear fichero fuente hello.c
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 25
Escribimos nombre
del fuente (no
olvidar extensión
“.c”)
Seleccionamos
plantilla C
![Page 26: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/26.jpg)
AC AC
Ejemplo Hello Paso 2: Fichero hello.c creado
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 26
Fic
hero
he
llo.c
cre
ado
![Page 27: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/27.jpg)
AC AC
Ejemplo Hello Paso 3: Editar fuente hello.c
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 27
![Page 28: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/28.jpg)
AC AC
Ejemplo Hello Paso 4: Generar ejecutable hello
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 28
Para
generar
ejecutable
OJO: “*” significa que el
fichero se ha modificado y
no se ha guardado. Los
cambios no guardados
generalmente no se tendrán
en cuenta al compilar
![Page 29: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/29.jpg)
AC AC
Ejemplo Hello Paso 4: Generar ejecutable hello
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 29
Para generar
ejecutable sólo
del proyecto
seleccionado
![Page 30: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/30.jpg)
AC AC
Ejemplo Hello Paso 4: Ejecutable hello generado
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 30
Vista de problemas (problem view): visualiza errores y avisos (warnings)
Eje
cuta
ble
![Page 31: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/31.jpg)
AC AC
Ejemplo Hello Paso 4: Eliminar warnings
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 31
Para eliminar los avisos
(warnings)
![Page 32: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/32.jpg)
AC AC
Ejemplo Hello Paso 4: Ejecutable hello release
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 32
![Page 33: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/33.jpg)
AC AC
Ejemplo Hello Paso 4: Ejecutable hello release
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 33
Eje
cuta
ble
Rele
ase
(p
ara
ha
ce
r pú
blic
o)
![Page 34: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/34.jpg)
AC AC
Ejemplo Hello Paso 5: Ejecución
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 34
Para
ejecutar
Vista de consola (console view) : para ver lo que se imprime por pantalla
Para generar la perspectiva de depuración
Se ejecuta ejecutable Debug. Usar Run-
>Run Configuration->Main->Search
Projects para cambiar entre ejecutable
Debug y Release
![Page 35: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/35.jpg)
AC AC
Ejemplo Hello Paso 6: Depuración
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 35
Para ejecutar paso a paso
![Page 36: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/36.jpg)
AC AC
Ejemplo Hello Paso 6: Depuración en ensamblador
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 36
Para abrir la vista (view)
de ensamblador
![Page 37: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/37.jpg)
AC AC
Ejemplo Hello Paso 6: Depuración en ensamblador
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 37
Para seleccionar ver código
ensamblador+código fuente
![Page 38: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/38.jpg)
AC AC
Contenidos
¿Qué es Eclipse? ¿Qué es CDT?
Usuarios de Eclipse
Instalación
Conceptos de Eclipse
Ejemplo Hello
Ejemplo Hello OpenMP Paso 1: Modificar propiedades del proyecto
Paso 2: Añadir la opción -fopenmp
Paso 3: Generar ejecutable
Paso 4: Ejecutar
Paso 5: Depurar
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 38
![Page 39: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/39.jpg)
AC AC
Ejemplo Hello OpenMP Paso 1:Modificar propiedades proyecto
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 39
Se incluye la librería de
funciones OpenMP: omp.h
Función OpenMP para fijar el nº de
hebras: omp_set_num_threads()
Directiva OpenMP para ejecución de código en paralelo: parallel
![Page 40: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/40.jpg)
AC AC
Ejemplo Hello OpenMP Paso 2: Añadir la opción -fopenmp
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 40
Se añade (tecleando) la opción de compilación –fopenmp en
Properties -> C/C++ Build -> Settings -> GCC C Compiler -> Miscellaneous
![Page 41: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/41.jpg)
AC AC
Ejemplo Hello OpenMP Paso 2: Añadir la opción -fopenmp
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 41
Se añade (tecleando) la opción de enlazado –fopenmp en
Properties -> C/C++ Build-> Settings -> GCC C Linker -> Miscellaneous
![Page 42: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/42.jpg)
AC AC
Ejemplo Hello OpenMP Paso 3: generar ejecutable
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 42
Se usa -fopenmp en la
generación de objetos por el compilador
Se usa -fopenmp en la
generación del ejecutable por el enlazador
![Page 43: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/43.jpg)
AC AC
Ejemplo Hello OpenMP Paso 4: ejecutar
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 43
Las dos hebras creadas ejecutan puts
![Page 44: AC 0 Eclipse](https://reader033.vdocumento.com/reader033/viewer/2022050815/5447f329b1af9f5b618b46a4/html5/thumbnails/44.jpg)
AC AC
Ejemplo Hello OpenMP Paso 5: depurar
Seminario 0. Entorno de desarrollo: Plataforma Eclipse 44
La
s h
ebra
s s
e h
an e
jecuta
do e
n p
ara
lelo
en
co
res d
istin
tos (
con
Ind
igo a
pare
ce e
l id
en
tificador
de
l co
re)