C++ fejlesztés az ECLIPSE környezetben



Hasonló dokumentumok
A NetBeans IDE Ubuntu Linux operációs rendszeren

Közösség, projektek, IDE

Java I. A Java programozási nyelv

Programozás I. gyakorlat

I. Bevezetés. 1. ábra A Java "logója"

Dr. Schuster György október 30.

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Kedvenc Ingyenes editorok avagy milyen a programozó jobbkeze? PSPAD editor DEVPHP IDE

Java I. A Java programozási nyelv

Szoftver technológia. Build systems. Cserép Máté ELTE Informatikai Kar 2019.

Automatizált Java Build. ApacheAnt használatával

A Java EE 5 plattform

Szoftver metrika Eclipse-plugin KÉSZÍTETTE: BARTA JÁNOS (SS4TCD)

Elemi alkalmazások fejlesztése I.

Szabad szoftveres fejleszt!eszközök. Bán Szabolcs FSF.hu Alapítvány

IT TERMÉKEK TANÚSÍTÁSA

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Kiszolgálók üzemeltetése. Iványi Péter

A szoftverfejlesztés eszközei

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

A szoftverfejlesztés eszközei

Objektum Vezérelt Szoftverek Analízise

Flex: csak rugalmasan!

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Komponens alapú fejlesztés

Bevezetés, platformok. Léczfalvy Ádám

Bevezetés az informatikába

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

A L i n u x r u h á j a

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

Tamagocsi Projektterv

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

iphone és Android két jó barát...

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Web-fejlesztés NGM_IN002_1

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

open source, multiplatform, point-and-click adventure games, reverse engeneering, C++, C, Pascal, Assembly, DOS

Novell Roadshow január március

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Miért érdemes váltani, mikor ezeket más szoftverek is tudják?

Folyamatok rugalmas irányítása. FourCorm Kft.

Tarantella Secure Global Desktop Enterprise Edition

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Jelszavas hozzáférés korlátozás

Quantum GIS (QGIS) dr. Siki Zoltán Mottó: Computers are like air conditioners - they stop working properly when you open Windows.

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

MVC. Model View Controller

Adatbányászat és Perszonalizáció architektúra

Mobil Informatikai Rendszerek

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Operációs rendszerek - bevezető

Hová tűnt a sok kereszthivatkozás?

Clang Static Analyzer belülről

Web-programozó képzés szakdolgozat formai követelmények

Kedvenc Linkek a témakörben: MySQL mindenkinek Vizuális adatbázis tervezés

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

A NYELV NEVE. Kezdetben: Oak. James Gosling. Java: Sun Mycrosystems védjegyev

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Mobil Informatikai Rendszerek

Gyakorlat és házi feladat tájékoztató

Produktív környezetben használt, nyílt forráskódú komplex térinformatikai megoldások dr. Siki Zoltán

Operációs rendszerek

A Hypertext. Dr. Nyéki Lajos 2019

Windows és/vagy Linux? Készítette: Hanusz Zoltán /Hazlaat/

Cross platform játékmotor + szerkesztő Támogatott platformok

RIA Rich Internet Application

Informatikai célrendszertől a komplex oktatási intézménymenedzsmentig

SAS Enterprise BI Server

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

CTools és Panels pluginok

Egy egyszerű, gyors és szabad újratelepítő eszköz: upi

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

Segédanyag: Java alkalmazások gyakorlat

Utolsó módosítás:

H5P az e-learning kurzusokban és web oldalakon használható multimédiás szerzői rendszer

1_Linux_bevezeto_bash

Operációs rendszer ismeretek

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Megnevezés Verzió Méret (byte) SHA-1 lenyomat

Hardver és szoftver követelmények

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

IBM Tivoli Access Manager for WebLogic Server Felhasználóikézikönyv. 3.9-es verzió GC

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Bevezetés a Java programozási nyelvbe

S z á m í t ó g é p e s a l a p i s m e r e t e k

Madarassy László, mérnök, BME - Mobil Innovációs Központ. lmadarassy@mik.bme.hu

Bevezetés az informatikába

Átírás:

Bevezetés kr304@hszk.bme.hu UNIX, 2005. május 13.

Bevezetés Tartalomjegyzék 1 Bevezetés IDE IDE eszközök 2 Célkitűzés Architektúra CDT Project Összefoglalás

Bevezetés IDE IDE eszközök Integrated Development Environment Olyan szoftver, ami széleskörűen támogatja a fejlesztés során előforduló feladatokat Szövegszerkesztés, RAD- és GUI-varázslók Fordítás/Interpretálás automatizálása (make, automake, autoconf, scons) Nyomkövetés, futtatás Nézetek (Class browser), diagramkészítők Verziókövető Dokumentáció Célja a fejlesztő produktivitásának fokozása A tanulási idő rövidítése A nem-kreatív feladatok átvállalása Szorosabb együttműködés: az ember vizuális, a gép precíz Kényelmes eszközhasználat (Front-end) Funkciók kiterjesztése (Extension)

Bevezetés IDE IDE eszközök Példák A Nagy Öregek (parancssorosak) Dartmouth Time Sharing System: BASIC nyelvhez (1964) UNIX és GNU eszközök: gvim/emacs + make + ddd +... A ddd grafikus debugger front-end, kitűnő adatábrázolással Borland, Sun, Microsoft termékek Nyílt forráskódúak Motor: konzolos (terminálos) C++, Java, Perl Anjuta: C++ és Gnome/GTK GUI KDevelop: C++ és KDE/QT GUI, továbbá 10 másik nyelv NetBeans: Java Eclipse: univerzális?

Eclipse motivációk Bevezetés Célkitűzés Architektúra CDT Project Összefoglalás Nyílt forráskódú Nehézsúlyú ( robust ) Sokoldalú ( full-featured ) Magas színvonalú ( commercial-quality ) Nyílt platform Windows, Linux, Solaris, Apple Mac Nyelvfüggetlen, specifikus elemek plugin formában Bővíthető architektúra: tetszőleges plugin felcsatolható Java alapú platform és modulok Konzorcium áll mögötte (IBM, Borland, Novell, HP,... )

Bevezetés Célkitűzés Architektúra CDT Project Összefoglalás Felépítés: mikrokernel + sok plugin

Plugin felépítése Bevezetés Célkitűzés Architektúra CDT Project Összefoglalás Építőkocka, legkisebb önálló egység Illesztési pontok ( Extension point ) Minden plugin 1 vagy több külső pontra illeszkedik Deklarálhat saját illesztési pontokat Java nyelv interfész-implementáció mechanizmusával Függőségi viszonyok Egy külön alkönyvtár Java- és natív függvénykönyvtárakkal Önleíró entitás ( manifest állomány: plugin.xml) A Platform Runtime mikrokernel menedzseli a plugineket Csak igény esetén tölti be, nem induláskor Induláskor összeköti logikailag az installált pluginokat Minden funkcionalitást valamelyik plugin nyújtja

Eclipse Plug-in Architecture Typical arrangement plug-in A extension point P contributes plug-in B extension interface I implements class C Plug-in A creates, calls Declares extension point P Declares interface I to go with P Plug-in B Implements interface I with its own class C Contributes class C to extension point P Plug-in A instantiates C and calls its I methods 200303331 14

Bevezetés C/C++ Development Tools Célkitűzés Architektúra CDT Project Összefoglalás Egy plugin-csomag Gyorsan fejlődő szoftver, lelkes közösség Tartalmazza C/C++ Editor (syntax highlighting, code completion etc.) C/C++ Debugger (GDB front-end) C/C++ Launcher Parser Search Engine Content Assist Provider Makefile generator Jó dokumentáció Könnyen kezelhető

Előnyök Bevezetés Célkitűzés Architektúra CDT Project Összefoglalás Ingyenes (nyílt forráskódú) Jó minőségű, modern grafikus IDE Aktívan támogatja a konzorcium Igéretes vetélytársa a kereskedelmi eszközöknek Bővíthető Rengeteg ingyenes és kereskedelmi plugin Egy környezetben: C, Java, PHP, Web, UML, Perl,... Jó felépítés: könnyű plugint írni Sok plugin is installálható egyszerre (dinamikus betöltés) Könnyen kezelhető, installálható Élő közösség, cikkek, konferenciák The proof of the pudding is in the eating

Demo - Bináris fa Függelék Demo Installálás Hivatkozások > g++ -g demo.cc > ddd a.out

Demo - Forráskód #include<iostream> class Elem { int ertek; Elem * bal, * jobb; public: Elem(int ertek, Elem *bal, Elem *jobb) { this->ertek = ertek; this->bal = bal; this->jobb = jobb; } ~Elem() { if (bal!= NULL) delete bal; std::cout << ertek; if (jobb!= NULL) delete jobb; } }; int main(int argc, char **argv) { Elem * gyoker = new Elem(4, new Elem(2, new Elem(1, NULL, NULL), new Elem(3, NULL, NULL) ), new Elem(5, NULL, NULL) ); std::cout<<"bejárjuk a fát: "; delete gyoker; }

Függelék Demo Installálás Hivatkozások Installálás egyszerű felhasználóként (Linux) ECLIPSEURL=http://eclipse.gabriel.co.hu/downloads/drops/R-3.0\.2-200503110845/eclipse-SDK-3.0.2-linux-gtk.zip ECLIPSECDTURL=http://download.eclipse.org/tools/cdt/releases/\ new/zips/2.1.1/org.eclipse.cdt.sdk-2.1.1-linux.x86.zip # Ideiglenes könyvtár a telepítési állományokhoz TEMP_KONYVTAR= mktemp -d exit 1 # Letöltés cd $TEMP_KONYVTAR && wget $ECLIPSEURL && wget $ECLIPSECDTURL # Telepítés mkdir $HOME/opt ; cd $HOME/opt exit 1 for i in $TEMP_KONYVTAR/*.zip ; do unzip $i ; done # Java Runtime Environment beállítása cd eclipse && ln -s $HOME/j2re1.4.2_08 jre && cd.. # Letörölhetjük a.zip fájlokat rm -r $TEMP_KONYVTAR

Hivatkozások Függelék Demo Installálás Hivatkozások Eclipse Project FAQ http://www.eclipse.org/eclipse/faq/eclipse-faq.html CDT (C/C++ Development Tools) Project Tutorial, Documentation, FAQ http://eclipse.org/cdt/ OTI, Inc. Eclipse Platform Technical Overview http://www.eclipse.org/whitepapers/eclipse-overview.pdf WikipediA Integrated Development Environment http://en.wikipedia.org/wiki/integrated_development_environment