Beleg: API für Plugin und Treiberbasierte Softwareentwicklung
|
|
- Gerda Elisabeth Knopp
- vor 7 Jahren
- Abrufe
Transkript
1 Fakultät Informatik Institut für Software- und Multimediatechnik, Professur Computergraphik Beleg: API für Plugin und Treiberbasierte Dresden, 23. Mai 2007
2 Übersicht Grundlagen zum Plugin-Konzept Dynamische Bibliotheken Die Native C++ Plugin API Schnittstellen Plugins laden Plugins schreiben Plugins verwenden Umsetzung auf die.net Umgebung Ausblick 2
3 Grundlagen zum Plugin-Konzept Schnittstellen: global definiert von Plugin und Anwendung unabhängig 3
4 Grundlagen zum Plugin-Konzept Hostanwendung: stellt Grundfunktionalität bereit lädt Plugins zur Laufzeit Beschränkung auf bestimmte Plugintypen (bei Kompilierung) 4
5 Grundlagen zum Plugin-Konzept Plugins: Funktionen zur Erweiterung der Hostanwendung Schnittstellen für Interaktion mit Hostanwendung in dynamische Bibliotheken verpackt 5
6 Dynamische Bibliotheken Bibliothek nur einmal im Speicher statische Daten eingeblendet Kopien veränderlicher Daten im Prozessspeicher (Heap/Stack) angelegt keinen Zugriff auf Code der Bibliothek kein IPC mit Variablen der Bibliothek 6
7 Dynamische Bibliotheken dynamisches Linken: Bibliothek durch Systemfunktionen an Programm gebunden Laden der Bibliothek Suchen nach Funktionsadressen Freigeben der Bibliothek 7
8 Dynamische Bibliotheken (Win32) DLL sind dynamische Bibliotheken in Win32 Betriebssytemen Win32 Funktionen: LoadLibrary() lädt eine DLL GetProcAddress() gibt Zeiger mit Funktionsadresse zurück FreeLibrary() entlädt DLL laden/entladen in DllMain() der Bibliothek signalisiert 8
9 Dynamische Bibliotheken (Linux) shared objects (*.so) sind dynamische Bibliotheken in Linux Linux Funktionen: dlopen() lädt ein shared object dlsym() gibt Zeiger mit Funktionsadresse zurück dlclose() entlädt ein shared object laden in _init() der Bibliothek signalisiert entladen in _fini() der Bibliothek signalisiert 9
10 Die Native C++ Plugin API drei Teile: 10
11 Die Native C++ Plugin API in C++ geschrieben (Standardbibliothek) Verwendung statischer Bibliotheken API nur zum Kompilieren nötig mit VS2005 und GNU C++ kompilierbar (Windows/Linux) plattformabhängige Teile in CrossPlattform.h und CrossPlattform.cpp 11
12 Die Native C++ Plugin API 12
13 Schnittstellen 13
14 Plugins laden plugin_loader in Hostanwendung einbinden verwaltet Plugins selbständig (inkl. Aufruf der Destruktoren) Systemfunktionen zum Laden/Entfernen von Bibliotheken im Objekt gekapselt zum Laden können notwendige Schnittstellen fesgelegt werden Zugriff auf Plugins über Index möglich 14
15 Plugins schreiben Plugins in dynamischen Bibliotheken globale Fabrikliste (plugin_factory_list_class) Liste im Einsprungpunkt der Bibliothek (DllMain/_init) mit Fabriken gefüllt zu jedem Plugin eine Fabrik Plugin erbt von Fabrik gleiche Schnittstellen Fabrik kann Plugin erstellen (create_new_instance() von iplugin_base) C -Funktion get_plugin_factory_list() 15
16 Plugins verwenden Plugins werden über deren Schnittstellen angesprochen standard: iplugin_base Konvertierung über dynamic_cast (Typreflektion mit vtbl) 16
17 Umsetzung auf die.net Umgebung Anwendungsfälle: Hostanwendung C++ C++.NET.NET Plugin C++.NET C++.NET mindestens zwei Lade-Klassen (.NET und C++ plugin_loader) Idee: um jeweilige Interop-Funktion erweitern mindestens zwei Schnittstellendefinition (.NET und C++).NET-.NET Anwendungsfall einfach und effizient lösbar (Reflection von Assemblies) 17
18 Umsetzung auf die.net Umgebung - Probleme C++ Hostanwendung und.net Plugins: Interoperabilität mit managed Code Hostanwendung in C++ mit Managed Extensions (C++/CLI) Probleme: eigene Kommunikationswege zwischen native und managed Code (Wrapperklassen usw.) eigene Version der Lade-Klasse (sonst immer C++/CLI notwendig) 18
19 Umsetzung auf die.net Umgebung - Probleme.NET Hostanwendung und C++ Plugins Interoperabilität mit native Code gute Zusammenarbeit mit COM (COM Interop Assembly) Platform Invoke für Code ohne COM (P/Invoke) Probleme: Marshaling von C++ Objekten nicht möglich (nur Datenstrukturen) Wrapperklassen innerhalb der Plugins (C++/CLI) 19
20 Umsetzung auf die.net Umgebung - Ergebnis zwei getrennte Plugin API-Versionen gleiche vordefinierte Schnittstellen jeweils eine plugin_loader Klasse Hostanwendungen kümmern sich um Interoperabilität (nicht die Lade-Klassen) Hostanwendung kennt Plugintypen (einfaches Marshaling / Wrappen) integrieren beider plugin_loader ermöglicht flexibles Laden von.net und C++ Plugins 20
21 Ausblick erweitern der Schnittstellen Sound Datenkanäle seq. Datenströme (z. B. für Video En-/Dekodierung) usw. eventuell Versionssystem für Plugins (bzw. deren Schnittstellen) integrieren Mechanismus zum Erkennen von Plugin-Bibliotheken (ohne Bibliothek zu laden) 21
22 Ausblick plugin_loader an Bedürfnisse anpassen komfortable Lade-Funktionen (verschiedene Ladebedingungen) angabe eines Plugin-Verzeichnisses (autom. Laden aller Plugins) usw. Verbesserung der Registrierung der Fabriken (automatisieren) 22
Großer Beleg. API für Plugin und Treiber basierte Softwareentwicklung
TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK INSTITUT FÜR SOFTWARE- UND MULTIMEDIATECHNIK PROFESSUR FÜR COMPUTERGRAPHIK UND VISUALISIERUNG PROF. DR. STEFAN GUMHOLD Großer Beleg API für Plugin und
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Dynamische Programmbibliotheken Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 28. Mai 2015 Dynamische Programmbibliotheken Idee: Programm
MehrKapitel 21 Nativer Code
Kapitel 21 Nativer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und nicht-verwalteten
MehrMicrosoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber
Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS
MehrC# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 8: Professionelle Entwicklung
C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 8: Professionelle Entwicklung 1/27/2012 1 Mi SDL.NET Netzwerk Lokalisierung Bibliotheken Registry Setup-Projekt Tag 8 Professionelle
MehrMaschinencode Dateiformat und Stackframes
Maschinencode Dateiformat und Stackframes Proseminar C-Programmierung - Grundlagen und Konzepte Julian M. Kunkel julian.martin.kunkel@informatik.uni-hamburg.de Wissenschaftliches Rechnen Fachbereich Informatik
MehrKapitel 21 Nativer Code
Kapitel 21 Nativer Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Wann muss man verwalteten und
Mehr4. AUFLAGE. Praxiswissen TYP03. Robert Meyer mit Olaf Clemens. O'REILLY* Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo
4. AUFLAGE Praxiswissen TYP03 Robert Meyer mit Olaf Clemens O'REILLY* Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo 1 Einführung 1 Über dieses Buch 2 Aktualisierung auf TYP03-Version 4.3 : 3 Aufbau
MehrXcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar 2006 1
Time Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar 2006 1 Control and Command Environment for a Robotic Experimenter R&D 1 Examination Presentation by Christian Rempis Christian
Mehr.Net Interoperabilität
.Net Interoperabilität Objektorientiertes Programmieren mit.net und C# Thomas Hörmann Institut für Informatik Software & Systems Engineering Agenda Einleitung P/Invoke Marshalling Component Object Model
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
MehrEinführung in C# Teil 1. Matthias Nübling
Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrEine Kommando-Oberfläche für.net
Institut für Systemsoftware O.Univ.-Prof. Dr. Hanspeter Mössenböck Eine Kommando-Oberfläche für.net In.NET (wie auch in vielen anderen Systemen) haben Programme nur einen einzigen Eintrittspunkt (ihre
MehrKarim El Jed, Lars Keller netcreate OHG. VSTO in der Praxis
Karim El Jed, Lars Keller netcreate OHG VSTO in der Praxis 1 Agenda I VSTO Grundlagen II Ribbon Customizing III Outlook IV Excel V Word Content Controls VI Deployment VII VSTO 4.0 Ausblick 2 VSTO Grundlagen
MehrGNU/Hurd. ... ein Mach basiertes Multi Server Betriebssystem. Manuel Gorius. . p.1/33
. p.1/33 GNU/Hurd... ein Mach basiertes Multi Server Betriebssystem Manuel Gorius 16. September 2004 . p.2/33 Übersicht 1. Wissenswertes zu Hurd 2. Motivationen und Ziele 3. Mach Microkernel 4. Single
MehrBibliotheks-basierte Virtualisierung
Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)
MehrKlassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
Mehr3DVBVIEW - DX11Engine Version 1.1 (ab Build-Version 1054.Stand April 2018)
3DVBVIEW - DX11Engine Version 1.1 (ab Build-Version 1054.Stand April 2018) DX11Engine ist ein Software Framework das sich an qualifizierte Visual Basic und.net Entwickler und Entwicklerinnen richtet, die
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
MehrWie teuer ist dynamischer Polymorphismus? 194
Wie teuer ist dynamischer Polymorphismus? 194 Function f vtable data RTTI ~Function get_name type name type info "Sinus\0" execute Nicht-polymorphe Methoden und reguläre Funktionen können in C++ direkt
MehrC programmieren. Jürgen Wolf
C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln
MehrSoftware-Engineering für langlebige Systeme
Software-Engineering für langlebige Systeme Thomas Ruhroth Dortmund SoSe 2013 PA HA 5 Letzte Simulation 2 DLLs und SOs Möglichkeiten der Anbindung Statisches Binden Angabe beim Compilieren Wird häufig
Mehr~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.
~±] 1 C# und das.net-framework 1 1.1 Ähnlichkeiten zwischen C# und Java 1 1.2 Unterschiede zwischen C# und Java 2 1.3 Das.NET-Framework 4 1.4 Übungsaufgaben 9 2 Erste Schritte 11 2.1 Hello World 11 2.2
MehrVon ULTRIX zu Linux Die Portierung des Administrators
Fakultät Informatik Institut für Angewandte Informatik, Professur TIS Von ULTRIX zu Linux Die Portierung des Administrators Frank Brandt Dresden, 11.05.2006 Was heißt hier Portierung? Begriffsdefinition:
MehrKonzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.
Proseminar KVBK Programmstart dynamische Bibliotheken Konzepte von Betriebssystem-Komponenten Programmstart & dynamische Bibliotheken SS 05 Wladislaw Eckhardt Wladi23@gmx.net 1 1 Einleitung 11. Problematik
MehrCross-Platform Apps mit HTML5/JS/CSS/PhoneGap
Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform
MehrMapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.
Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien
MehrObjektorientierte Programmierung II
Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem
MehrWas gehört (nicht) ins SVN?
Was gehört (nicht) ins SVN? Keine Dateien die aus anderen Dateien generiert werden (z.b. beim der Kompilierung).suo,.ncb (Intellisense),.user, das komplette Debug und Release Verzeichnis Nur Dateien die
MehrInformatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1
Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss
MehrZwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework
Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen
MehrTwinCAT HMI Application
New Automation Technology TwinCAT HMI Application 08.05.2010 1 Überblick Einleitung Übersicht Möglichkeiten der Applikation Struktur und Komponenten Komponenten für das Microsoft Visual Studio Anleger
MehrKinmatec. Einfach erfahren.
1 Kinmatec. Einfach erfahren. Die Kinmatec GmbH ist spezialisiert auf die Entwicklung von Automatisierungssoftware für Anlagen und Prüfstände. Unsere gesamte Erfahrung als Informatiker und Maschinenbauer
MehrKonzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.
Proseminar KVBK Programmstart dynamische Bibliotheken Konzepte von Betriebssystem-Komponenten Programmstart & dynamische Bibliotheken SS 05 Wladislaw Eckhardt Wladi23@gmx.net 1 1 Einleitung 1.1 Problematik
MehrMathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept
Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die
MehrAndreas Kosch. Software & Support $ > Verlag GmbH
Andreas Kosch Software & Support Verlag GmbH $ > Inhaltsverzeichnis I COM-GRUNDLAGEN 11 1 COM - COMPONENT OBJECT MODEL 13 1.1 WARUM? 13 1.2 DER COM-STECKBRIEF 16 2 CLIENT UND SERVER 18 2.1 BEGRIFFSBESTIMMUNG
MehrMicrosoft.NET Framework
Microsoft.NET Framework Anita Sosnecki Universität Bonn Institut für Informatik Seminar Softwaretechnologie WS 2003 Übersicht Einleitung Was ist.net?.net Framework.NET Komponenten Assemblies Deployment
MehrProgrammieren in Lua
Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale
MehrEntwurf und Implementierung einer generischen Backend-Infrastruktur für den Prozessimulator DUPSIM
Entwurf und Implementierung einer generischen Backend-Infrastruktur für den Prozessimulator DUPSIM 25. Februar 2010 Analyse Entwurf Realisierung Evaluierung Demo Zusammenfassung und Ausblick Altes System
MehrOffice und.net - zwei Welten wachsen zusammen mit VSTO 3.0. Lars Keller netcreate OHG
Office und.net - zwei Welten wachsen zusammen mit VSTO 3.0 Ihr Referent Lars Keller Was lernen Sie hier nicht? Was werden Sie hier erfahren? Agenda I VSTO Grundlagen II Ribbon Customizing III Smart Tag
MehrKurzfassung der Studienarbeit
Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder
MehrRealtime Daten-Rückschreibung in Tableau mit der Extensions API //
Was wir vorhersagen, soll auch eintreffen! Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Pascal Muth Zusammenfassung In diesem Whitepaper wird die Tableau Extensions API von Tableau
MehrVirtueller Campus. Virtueller Campus Horw mit interaktiver Steuerung. HowTo: Externe Bibliotheken
Virtueller Campus Virtueller Campus Horw mit interaktiver Steuerung Bachelor Diplomarbeit FS 2013 Inhaltsverzeichnis 1. EINLEITUNG... 1 2. VORBEDINGUNGEN... 1 3. ORDNERSTRUKTUR ERWEITERN... 1 4. PROJEKT
MehrM. Biebl. 15. Mai Hochschule München Fakultät für Informatik/Mathematik Fach: Clojure. Clojure - Java Interoperabilität. M. Biebl.
Hochschule München Fakultät für Informatik/Mathematik Fach: Clojure 15. Mai 2011 1 sverzeichnis 1 Classpath und Compilepath setzen Beispiel Skript 2 Spezial-Formen Java Arrays Eigene Klassen einbinden
MehrPython - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure
Python - Open-Source-Werkzeuge für Wissenschaftler und Ingenieure Chemnitzer Linux-Tage 2012, 18. März 2012 Autor: E-Mail: Dr.-Ing. Mike Müller mmueller@python-academy.de Übersicht besondere Situation
MehrVSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG
VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG Agenda Agenda VSTO Ribbon Customizing Outlook 2007 Entwicklung Demo: Custom Task Pane Demo: Custom Form Region Smart Tag
MehrObjektorientiert in C++
Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die
MehrEnterprise PHP Tools
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Stefan Priebsch Werkzeuge und Methoden für einen effizienten Entwicklungsprozess
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
Mehr2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...
Datei: 5220_A02Inhalt.doc, Seite3 15. September 2010 Teil I Erste Schritte 1 Einleitung.... 9 1.1 Was Sie erwartet und was Sie nicht erwartet.... 9 1.2 Wie die Kapitel aufgebaut sind.... 10 1.3 Beispieldateien....
MehrSoftware Design basierend auf dem Plug-In Konzept
Software Design basierend auf dem Plug-In Konzept Michael Antes Seminar Simulation und Bildanalyse mit Java, WS2003 Universität Ulm Software-Design basierend auf dem Plug-In-Konzept Inhalt: Einführung:
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrObjektorientierung II
Javakurs 2009 - LE6 Florian Streibelt Freitagsrunde SoSe 2009 9. März 2010 Agenda Wiederholung zu Objekten Kapselung und Information Hiding im Detail Vergleich von Objekten Vererbung kleine API-Beispiele
MehrWesentliche Ideen und Komponenten der V13 V13 Under the Hood die Technik dahinter
Wesentliche Ideen und Komponenten der V13 V13 Under the Hood die Technik dahinter Der Client PBX und App Platform Verschiedene zentrale Apps Installation V13, der Client myapps V13 Under the Hood die Technik
MehrDies ist der zweite Artikel einer Serie über Electron.
Electron WebDeskApps Dies ist der zweite Artikel einer Serie über Electron. Im ersten Artikel wurden die Grundlagen von Elektron, und die benötigten Ressourcen, die man benötigt um eine Elektron-App zu
MehrProgrammierkurs C++ Templates & STL (1/2)
Programmierkurs C++ Templates & STL (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Templates Die wichtigsten objekt-orientierten
MehrEine praktische Einführung in die Programmierung mit der Programmiersprache C
Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?
Mehr16- und 32 Bit DLL. Datentypen String Integer. STLB-Bau. STLB-Bau
Schnittstellen 16- und 32 Bit DLL viele Fuktionen Datentypen String Integer 16-Bit DLL 16-Bit DLL Entwicklertreffen 2005-05-10 Schnittstellen manuelle Übernahme der Schnittstellendefinition bei Win 32
Mehr360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland
360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?
MehrKonzepte von Betriebssystemkomponenten
Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der
MehrVirtual Machines unter der Haube
Virtual Machines unter der Haube Alexander Lais unfug.org 21.06.2007 Agenda Aufbau der Laufzeitumgebungen Binärformate und Befehlssatz Compilierung Garbage Collection Nativer Code
MehrIntegrierte Editoren in Plone
Integrierte Editoren in Plone Vergleich der Webeditoren TinyMCE, CKEditor und Kupu für das CMS Plone Gliederung 1. Vorstellung der Editoren 2. Allgemeines zu Web-Editoren 3. Praxis-Test 4. Übersicht Barrierefreiheit
MehrWhitepaper. Produkt: List & Label. Thema: Eine Übersicht der Einbindungsmöglichkeiten. combit GmbH Untere Laube Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: List & Label Thema: Eine Übersicht der Einbindungsmöglichkeiten Thema: Eine Übersicht der Einbindungsmöglichkeiten - 2 - Inhalt Einleitung
MehrSequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )
Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrMICROSOFT.NET: EINE NEUE ENTWICKLUNGSPLATTFORM AUCH FÜR NUMERISCHE PROBLEME?
Titel MICROSOFT.NET: EINE NEUE ENTWICKLUNGSPLATTFORM AUCH FÜR NUMERISCHE PROBLEME? Jan Linxweiler, Sören Freudiger mail@bau-ings.de www.bau-ings.de 30.09.2004 Jan Linxweiler 1 Übersicht Prof. M. Krafczyk
MehrInformatik II SS Inhalt. Objektlebensdauer (2/3) Objektlebensdauer (1/3)
Inhalt Informatik II SS 2004 Teil 6: Sprachen, Compiler und Theorie 5 Lebensdauer von Objekten Speichermanagement Weiterführende Spracheigenschaften und Bindungen Implementierung von statischen Gültigkeitsbereichen
MehrModulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team
Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer
MehrSTORYBOARDING ZUR ABLEITUNG VON KONTEXTBASIERTEN INTERACTION-CASES FÜR UBIQUITÄRE SYSTEME
Fakultät Informatik Institut für Software- und Multimediatechnik Juniorprofessur Software Engineering Ubiquitärer STORYBOARDING ZUR ABLEITUNG VON KONTEXTBASIERTEN INTERACTION-CASES FÜR UBIQUITÄRE SYSTEME
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrLAZARUS. von Michael Van Canneyt, Mattias Gärtner, Swen Heinig, Felipe Monteiro de Carvalho, Inoussa Ouedraogo und Jörg Braun
LAZARUS von Michael Van Canneyt, Mattias Gärtner, Swen Heinig, Felipe Monteiro de Carvalho, Inoussa Ouedraogo und Jörg Braun INHALT Vorwort 13 Kapitel 1 Die Architektur von Lazarus 15 von Mattias Gärtner
MehrSchnelles Prototyping für die medizinische Bildverarbeitung
Schnelles Prototyping für die medizinische Bildverarbeitung Danial Bin Mohamed Saruji, Michael Müller, Hans-Peter Meinzer Abteilung Medizinische und Biologische Informatik, Deutsches Krebsforschungszentrum
MehrC++ - Variablen: Gültigkeit - Sichtbarkeit
C++ - Variablen: Gültigkeit - Sichtbarkeit Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Attribute von Variablen und Funktionen Attribute von Variablen sind Name (name), Typ (type), Wert (value) Attribute von
MehrErweiterte Interaktion mit Trees und Charts in APEX
Erweiterte Interaktion mit Trees und Charts in APEX Dr. Gudrun Pabst Trivadis Gmbh Lehrer-Wirth-Straße 4 81829 München gudrun.pabst@trivadis.com BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG
MehrBootvorgang des DSM-Systems Systems Plurix
Bootvorgang des DSM-Systems Systems Plurix Stefan Frenz Vortrag im Rahmen der Abteilungsbesprechung Voraussetzungen: CPU CPU-Modi Voraussetzungen: BIOS Rechner-Initialisierung durch das BIOS Interrupt
Mehr2 Wegweiser Projektbeschreibung...69
1 Projektmanagement...1 1.1 Komponenten eines SAP-R/3-Systems...1 1.2 Datenstruktur eines R/3-Systems...3 1.3 Änderungen an R/3-Datenobjekten...6 1.3.1 Änderungsebenen...6 1.3.2 Änderungsstrategien...8
MehrInformatik II Übung 4 Gruppe 7
Informatik II Übung 4 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Administratives Kontrolliert eure Abgaben! Jede Gruppe ist verantwortlich für ihre Abgaben Alle Teammitglieder tragen gleichermaßen
MehrAufbau eines modernen Betriebssystems (Windows NT 5.0)
Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung
Mehr2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article
2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String
Mehr10. OLAPLINE-Anwendertreffen
10. OLAPLINE-Anwendertreffen 26. und 27. April 2017 Schloss Garath Düsseldorf Zwei Tage Weiterbildung und Networking integriert: Vorträge, Workshops und Erfahrungsaustausch rund um TM1 JAVA EXTENSIONS
MehrFirmenkursprogramm für Superbase-Entwickler Ausgabe 01 / 06
Superbase Basis Sie lernen die verschiedenen Elemente von Superbase kennen und können diese sinnvoll nutzen. Als angehender Superbase- Entwickler lernen Sie Dateien, Formulare, Berichte und Programmcode
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrBestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform
Tobias Bouschen Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Software Engineering Bestandsaufnahme und Arbeit an einer Alpha-Version des Saros- Plugins für die IntelliJ-Plattform
MehrNamespaces und Assemblies
Namespaces und Assemblies 1 Namespaces File: XXX.cs namespace A { namespace B { // voller Name: A.B File: YYY.cs namespace A { namespace B { File: ZZZ.cs namespace A.B { namespace C { Eine Datei kann mehrere
MehrZweck: sequentieller Zugriff auf Elemente eines Aggregats
Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche
MehrINHALT. Vorwort 13. Kapitel 1 Die Architektur von Lazarus 15
INHALT Vorwort 13 Kapitel 1 Die Architektur von Lazarus 15 von Mattias Gärtner 1.1 Der Quelltexteditor 19 1.1.1 CodeTools 20 1.1.2 Schnelle Navigation im Code 20 1.1.3 Automatische Vervollständigung 23
MehrMigration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen Christian Böhmer, isys Software GmbH Björn Grimm, Hochschule München 1 Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
MehrAuthentifizierung und Autorisierung in Kubernetes
Authentifizierung und Autorisierung in Kubernetes Frühjahrsfachgespräch GUUG 2018 01. März 2018 Michael Steinfurth Linux / Unix Consultant & Trainer B1 Systems GmbH steinfurth@b1-systems.de Vorstellung
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
MehrJava-Grundkurs für rtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für rtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung- Fortgeschrittene Konzepte kennenlernen Betriebswirtschaftlich orientierte
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 42
Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object
MehrDomino und PHP EC 2013 Track 2 Session 7
Domino und PHP EC 2013 Track 2 Session 7 1 Domino und PHP Worum es heute geht Überblick über die verschiedenen Methoden Installation Allerlei Beispiele und Ideen Worum es nicht geht LotusScript, PHP (Sie
MehrErlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache
Erlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache Ein Bericht aus der Projektarbeit im Rahmen der Vorlesung Informationssicherheit
MehrFeature-Überblick: Vista Toolkit
Feature-Überblick: Vista Toolkit Craig Boyd Microsoft Windows Vista TM wird mit neuen Richtlinien für die Benutzeroberfläche ausgeliefert. Diese Richtlinien legen fest, wie eine Windows-Anwendung unter
MehrGuile Die Erweiterungssprache des GNU-Projekts
Guile Die Erweiterungssprache des GNU-Projekts Matthias Köppe Otto-von-Guericke-Universität Magdeburg Magdeburger Linux User Group e. V. 19. Mai 2001 Überblick Guile als Erweiterungssprache Guile als Scheme-Implementierung
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
Mehr