Dynamically Registering C++ Exception Handlers: Centralized Handling of C++ Exceptions in Application Framework Libraries
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Abaqus Installation and Licensing Guide
Abaqus Installation and Licensing Guide Abaqus 6.12 Installation and Licensing Guide Abaqus ID: Printed on: Abaqus Installation and Licensing Guide Abaqus ID: Printed on: Legal Notices CAUTION: This documentation is intended for qualified users who will exercise sound engineering judgment and expertise in the use of the Abaqus Software. The Abaqus Software is inherently complex, and the examples and procedures in this documentation are not intended to be exhaustive or to apply to any particular situation. Users are cautioned to satisfy themselves as to the accuracy and results of their analyses. Dassault Systèmes and its subsidiaries, including Dassault Systèmes Simulia Corp., shall not be responsible for the accuracy or usefulness of any analysis performed using the Abaqus Software or the procedures, examples, or explanations in this documentation. Dassault Systèmes and its subsidiaries shall not be responsible for the consequences of any errors or omissions that may appear in this documentation. The Abaqus Software is available only under license from Dassault Systèmes or its subsidiary and may be used or reproduced only in accordance with the terms of such license. This documentation is subject to the terms and conditions of either the software license agreement signed by the parties, or, absent such an agreement, the then current software license agreement to which the documentation relates. Abaqus software updates are designated by Version, Release, and, if applicable, Maintenance Delivery. Releases are software updates that include enhancements and new functionality. Maintenance Deliveries are software updates that address known issues but generally do not introduce enhancements or new functionality. Abaqus Extended Functionality Releases provide early access to a subset of the new functionality that will be introduced in the next numbered Release. -
J1939 Data Mapping Explained
J1939 Data Mapping Explained Part No. BW2031 Revision: 1.05 May 18, 2018 Pyramid Solutions, Inc. 30200 Telegraph Road, Suite 440 Bingham Farms, MI 48025 www.pyramidsolutions.com | P: 248.549.1200 | F: 248.549.1400 © Pyramid Solutions 1 PUB-BW4031-001 Table of Contents Overview ......................................................................................................................... 2 J1939 Message Terminology ............................................................................................ 2 J1939 PGN Message Definitions ....................................................................................... 3 PGN and Parameter Documentation Examples ........................................................................ 3 J1939 Specification Example ........................................................................................................ 3 Parameter Table Example ............................................................................................................ 5 Determining the BridgeWay Data Table Layout ................................................................ 6 Data Table Layout for Modbus RTU and Modbus TCP (Big Endian) ........................................... 6 Data Table Layout for EtherNet/IP (Little Endian) .................................................................... 7 Configuring the BridgeWay I/O Mapping ......................................................................... 8 Configuration Attributes ........................................................................................................ -
Institut Für Musikinformatik Und Musikwissenschaft
Institut für Musikinformatik und Musikwissenschaft Leitung: Prof. Dr. Christoph Seibert Veranstaltungsverzeichnis für das Sommersemester 2021 Stand 9.04.2021 Vorbemerkung: Im Sommersemester 2021 werden Lehrveranstaltungen als Präsenzveranstaltungen, online oder in hybrider Form (Präsenzveranstaltung mit der Möglichkeit auch online teilzunehmen) durchgeführt. Die konkrete Durchführung der Lehrveranstaltung hängt ab von der jeweils aktuellen Corona-Verordnung Studienbetrieb. Darüber hinaus ausschlaggebend sind die Anzahl der Teilnehmerinnen und Teilnehmer, die maximal zulässige Personenzahl im zugewiesenen Raum und inhaltliche Erwägungen. Die vorliegenden Angaben hierzu entsprechen dem aktuellen Planungsstand. Für die weitere Planung ist es notwendig, dass alle, die an einer Lehrveranstaltung teilnehmen möchten, sich bis Mittwoch, 07.04. bei der jeweiligen Dozentin / dem jeweiligen Dozenten per E-Mail anmelden. Geben Sie bitte auch an, wenn Sie aufgrund der Pandemie-Situation nicht an Präsenzveranstaltungen teilnehmen können oder möchten, etwa bei Zugehörigkeit zu einer Risikogruppe. Diese Seite wird in regelmäßigen Abständen aktualisiert, um die Angaben den aktuellen Gegebenheiten anzupassen. Änderungen gegenüber früheren Fassungen werden markiert. Musikinformatik Prof. Dr. Marc Bangert ([email protected]) Prof. Dr. Paulo Ferreira-Lopes ([email protected]) Prof. Dr. Eckhard Kahle ([email protected]) Prof. Dr. Christian Langen ([email protected]) Prof. Dr. Damon T. Lee ([email protected]) Prof. Dr. Marlon Schumacher ([email protected]) Prof. Dr. Christoph Seibert ([email protected]) Prof. Dr. Heiko Wandler ([email protected]) Tobias Bachmann ([email protected]) Patrick Borgeat ([email protected]) Anna Czepiel ([email protected]) Dirk Handreke ([email protected]) Daniel Höpfner ([email protected]) Daniel Fütterer ([email protected]) Rainer Lorenz ([email protected]) Nils Lemke ([email protected]) Alexander Lunt ([email protected]) Luís A. -
Advanced Software Engineering with C++ Templates Lecture 4: Separate Compilation and Templates III
Advanced Software Engineering with C++ Templates Lecture 4: Separate Compilation and Templates III Thomas Gschwind <thgatzurichdotibmdotcom> Agenda . Separate Compilation • Introduction (C++ versus Java) • Variables • Routines (Functions & Operators) • Types (Structures, Classes) • Makefiles . Templates III • Design and Implementation (C++ versus Java versus C#) • “Dynamic” Static Algorithm Selection • Binders Th. Gschwind. Fortgeschrittene Programmierung in C++. 2 Separate Compilation . Why? • Having only one source file is unrealistic • Break the code up into its logical structure • Reduction of compile time - Only changed parts need to be recompiled . How? • Use multiple source files • Need to know what information about functions and variables “used” from other files Th. Gschwind. Fortgeschrittene Programmierung in C++. 3 Separate Compilation in Java . Each Java file is compiled into a class file . If a Java class invokes a method of another class, the compiler consults that other class file to • Determine whether the class provides the requested method • Determine whether a class file implements a given interface • etc. • Hence, the .class file contains the entire interface . That’s why in Java, the compiler needs the class path . Finally, all class files are loaded by the Java Virtual Machine (and “linked”) . Java source code can be relatively well reconstructed from .class file (see Java Decompiler: jd, jad) Th. Gschwind. Fortgeschrittene Programmierung in C++. 4 Some Java Trivia . Let us write Hello World in Java . In order to simplify the reconfiguration (e.g., translation) • Put all the constants into one Java file • Put the complex application code into another public class Const { public static final String msg="Hello World!"; } public class Cool { public static void main(String[] args) { System.out.println(Const.msg); } } Th. -
P2356R0 Date 2021-04-09 Reply-To Matus Chochlik [email protected] Audience SG7 Overview Details
Overview Details Implementing Factory builder on top of P2320 Document Number P2356R0 Date 2021-04-09 Reply-to Matus Chochlik [email protected] Audience SG7 Overview Details The goal (Semi-)automate the implementation of the Factory design pattern Overview Details What is meant by \Factory" here? • Class that constructs instances of a \Product" type. • From some external representation: • XML, • JSON, • YAML, • a GUI, • a scripting language, • a relational database, • ... Overview Details Factory builder • Framework combining the following parts • Meta-data • obtained from reflection. • Traits • units of code that handle various stages of construction, • specific to a particular external representation, • provided by user. Overview Details Factory builder • Used meta-data • type name strings, • list of meta-objects reflecting constructors, • list of meta-objects reflecting constructor parameters, • parameter type, • parameter name, • ... Overview Details Factory builder • Units handling the stages of construction • selecting the \best" constructor, • invoking the selected constructor, • conversion of parameter values from the external representation, • may recursively use factories for composite parameter types. Overview Details Used reflection features • ^T • [: :]1 • meta::name_of • meta::type_of • meta::members_of • meta::is_constructor • meta::is_default_constructor • meta::is_move_constructor • meta::is_copy_constructor • meta::parameters_of • size(Range) • range iterators 1to get back the reflected type Overview Details Reflection review • The good2 • How extensive and powerful the API is • The bad • Didn't find much3 • The ugly • Some of the syntax4 2great actually! 3some details follow 4but then this is a matter of personal preference Overview Details What is missing • The ability to easily unpack meta-objects from a range into a template, without un-reflecting them. • I used the following workaround + make_index_sequence: template <typename Iterator > consteval auto advance(Iterator it, size_t n) { while (n-- > 0) { ++ it; } return it; } • Details follow. -
Programming Documentation
Flying Samurai { Programming documentation Jan Beneˇs,Osk´arElek, Marek Hanes, J´anZahornadsk´y June 3, 2010 \We make war that we may live in peace." | Aristotle Contents 1 Introduction 1 2 About the project 2 2.1 Team..................................................2 2.2 Externists . .3 2.3 Review of specification . .5 2.4 Hardware requirements . .6 2.5 Comparison with similar software . .6 2.6 Timeline . .7 2.7 Future of the project . .8 2.8 Known bugs . .9 2.9 Some statistics . 10 3 Building the project 11 3.1 Setting up the environment . 11 3.2 Building from sources . 11 4 Programming documentation 12 4.1 Architecture . 13 4.2 Multi-threading model . 15 4.2.1 Threads and their purpose . 15 4.2.2 Synchronization . 15 4.2.3 Messages and heartbeat . 16 4.2.4 Reader and Writer . 16 4.2.5 Structures . 17 4.2.6 Swap and swap chain . 18 4.2.7 Messages in detail . 19 4.3 Menu ................................................. 21 4.3.1 Concepts . 21 4.3.2 Implementation . 21 4.3.3 Handlers and actions . 21 4.4 Game logic . 23 4.4.1 Logical entities . 23 4.4.2 Mission . 24 4.4.3 Career . 26 4.5 Graphics . 27 4.5.1 Scene graph . 28 4.5.2 Airplane meshes . 29 4.5.3 Terrain . 33 4.5.4 Static terrain geometry . 36 4.5.5 HUD and debugging graphics . 38 4.5.6 Special effects . 39 4.5.7 Camera . 40 4.5.8 GUID . 40 4.6 Physics . 41 4.6.1 Introduction . -
Metaclasses: Generative C++
Metaclasses: Generative C++ Document Number: P0707 R3 Date: 2018-02-11 Reply-to: Herb Sutter ([email protected]) Audience: SG7, EWG Contents 1 Overview .............................................................................................................................................................2 2 Language: Metaclasses .......................................................................................................................................7 3 Library: Example metaclasses .......................................................................................................................... 18 4 Applying metaclasses: Qt moc and C++/WinRT .............................................................................................. 35 5 Alternatives for sourcedefinition transform syntax .................................................................................... 41 6 Alternatives for applying the transform .......................................................................................................... 43 7 FAQs ................................................................................................................................................................. 46 8 Revision history ............................................................................................................................................... 51 Major changes in R3: Switched to function-style declaration syntax per SG7 direction in Albuquerque (old: $class M new: constexpr void M(meta::type target, -
Graphical Design of Physical Models for Real-Time Sound Synthesis
peter vasil GRAPHICALDESIGNOFPHYSICALMODELSFOR REAL-TIMESOUNDSYNTHESIS Masterarbeit Audiokommunikation und -technologie GRAPHICALDESIGNOFPHYSICALMODELS FORREAL-TIMESOUNDSYNTHESIS Implementation of a Graphical User Interface for the Synth-A-Modeler compiler vorgelegt von peter vasil Matr.-Nr.: 328493 Technische Universität Berlin Fakultät 1: Fachgebiet Audiokommunikation Abgabe: 25. Juli 2013 Peter Vasil: Graphical Design of Physical Models for Real-Time Sound Synthesis, Implementation of a Graphical User Interface for the Synth- A-Modeler compiler, © July 2013 supervisors: Prof. Dr. Stefan Weinzierl Dr. Edgar Berdahl ABSTRACT The goal of this Master of Science thesis in Audio Communication and Technology at Technical University Berlin, is to develop a Graph- ical User Interface (GUI) for the Synth-A-Modeler compiler, a text-based tool for converting physical model specification files into DSP exter- nal modules. The GUI should enable composers, artists and students to use physical modeling intuitively, without having to employ com- plex mathematical equations normally necessary for physical model- ing. The GUI that will be developed in the course of this thesis allows the creation of physical models with graphical objects for physical masses, links, resonators, waveguides, terminations, and audioout objects. In addition, this tool will be used to create a model for an Arabic oud to demonstrate its functionality. ZUSAMMENFASSUNG Das Ziel dieser Master Arbeit am Fachgebiet Audiokommunikation der TU Berlin, ist die Entwicklung einer graphischen Umgebung für die textbasierte Software, Synth-A-Modeler compiler, welche es erlaubt, ein speziell dafür entwickeltes Datei Format für physikalische Mod- elle, in externe DSP Module umzuwandeln. Die Software macht es Komponisten, Künstlern und Studenten möglich, physikalische Modellierung intuitiv zu anzuwenden, ohne die komplexen mathe- matischen Formeln, welche normalerweise für physikalische Model- lierung nötig sind, anwenden zu müssen. -
Minidlna Tweaker : Aplicació Per Configurar I Previsualitzar El Servidor Minidlna Per a GNU/Linux
MINIDLNA_TWEAKER APLICACIÓ PER A CONFIGURAR I PREVISUALITZAR EL SERVIDOR MiniDLNA PER A LINUX Treball Fi de Carrera Jordi Martínez Lloveras Enginyeria Tècnica en Telecomunicació, especialitat Telemàtica Universitat Oberta de Catalunya (UOC) Tutor acadèmic: Manel Llopart Vidal Juny 2013 MiniDLNA_tweaker, personalitza el teu servidor MiniDLNA El poder compartir una mateixa biblioteca multimèdia disponible per tota la llar i no haver d’estar movent la informació amb dispositius extraïbles o de gravació és un problema que està sent enfocat des de diferents àmbits de la programació i de l’electrònica. Un d’ells les la possibilitat d’instal·lar un servidor al ordinador d’escriptori de la llar per a poder compartir la informació que hi és a dins o que es pot anar descarregant d’Internet. L’aplicació MiniDLNA per a GNU/Linux és un servidor lleuger que compleix els estàndards DLNA/UPnP configurable a traves d’un simple arxiu de text, això la fa ideal per al propòsit esmentat de la implantació d’un servidor que ofereixi els continguts a tots els dispositius que compleixin els estàndards esmentats. Aquest treball ve a emplenar el buit existent que te aquest programari en quant a una eina gràfica que serveixi per a poder controlar d’una manera senzilla i intuïtiva aquest servidor, que al ser part d’un programari més gran destinat a altres tasques, no disposa d’aquesta eina esmentada. L’aplicació MiniDLNA_tweaker desenvolupada en aquest treball emplena aquest buit tot permetent tres aspectes bàsics relacionat amb el servidor: Configurar els seus paràmetres, controlar el seu funcionament i poder escollir la informació multimèdia que s’ofereix d’una manera molt més intuïtiva que l’existent. -
Abaqus GUI Toolkit User's Guide
Abaqus GUI Toolkit User’s Guide ABAQUS 6.14 GUI TOOLKIT USER’S GUIDE Abaqus ID: Printed on: Abaqus GUI Toolkit User’s Guide Abaqus ID: Printed on: Legal Notices CAUTION: This documentation is intended for qualified users who will exercise sound engineering judgment and expertise in the use of the Abaqus Software. The Abaqus Software is inherently complex, and the examples and procedures in this documentation are not intended to be exhaustive or to apply to any particular situation. Users are cautioned to satisfy themselves as to the accuracy and results of their analyses. Dassault Systèmes and its subsidiaries, including Dassault Systèmes Simulia Corp., shall not be responsible for the accuracy or usefulness of any analysis performed using the Abaqus Software or the procedures, examples, or explanations in this documentation. Dassault Systèmes and its subsidiaries shall not be responsible for the consequences of any errors or omissions that may appear in this documentation. The Abaqus Software is available only under license from Dassault Systèmes or its subsidiary and may be used or reproduced only in accordance with the terms of such license. This documentation is subject to the terms and conditions of either the software license agreement signed by the parties, or, absent such an agreement, the then current software license agreement to which the documentation relates. This documentation and the software described in this documentation are subject to change without prior notice. No part of this documentation may be reproduced or distributed in any form without prior written permission of Dassault Systèmes or its subsidiary. The Abaqus Software is a product of Dassault Systèmes Simulia Corp., Providence, RI, USA. -
Multiplatformní GUI Toolkity GTK+ a Qt
Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky GUI = widgety (tlačítka, seznamy, menu, posuvník, bary, dialog, okno atd.) a umožňující tvorbu GUI (grafického uživatelského rozhraní) aplikace vlastní jednotný nebo nativní (pro platformu/systém) vzhled widgetů, možnost stylování nízkoúrovňové (Xt a Xlib v X Windows System a libwayland ve Waylandu na unixových systémech, GDI Windows API, Quartz a Carbon v Apple Mac OS) a vysokoúrovňové (MFC, WTL, WPF a Windows Forms v MS Windows, Cocoa v Apple Mac OS X, Motif/Lesstif, Xaw a XForms na unixových systémech) multiplatformní = pro více platforem (MS Windows, GNU/Linux, Apple Mac OS X, mobilní) nebo platformově nezávislé (Java) – aplikace může být také (většinou) událostmi řízené programování (event-driven programming) – toolkit v hlavní smyčce zachytává události (uživatelské od myši nebo klávesnice, od časovače, systému, aplikace samotné atd.) a umožňuje implementaci vlastních obsluh (even handler, callback function), objektově orientované programování (objekty = widgety aj.) – nevyžaduje OO programovací jazyk! Jan Outrata (Univerzita Palackého v Olomouci) Multiplatformní GUI toolkity duben 2015 1 / 10 GUI toolkit (widget toolkit) (2) language binding = API (aplikační programové rozhraní) toolkitu v jiném prog. jazyce než původní API a toolkit samotný GUI designer/builder = WYSIWYG nástroj pro tvorbu GUI s využitím toolkitu, hierarchicky skládáním prvků, z uloženého XML pak generuje kód nebo GUI vytvoří za běhu aplikace nekomerční (GNU (L)GPL, MIT, open source) i komerční licence např. GTK+ (C), Qt (C++), wxWidgets (C++), FLTK (C++), CEGUI (C++), Swing/JFC (Java), SWT (Java), JavaFX (Java), Tcl/Tk (Tcl), XUL (XML) aj. -
Audio Software Developer (F/M/X)
Impulse Audio Lab is an audio company based in the heart of Munich. We are an interdisciplinary team of experts in interactive sound design and audio software development, working on innovative and pioneering projects focused on sound. We are looking for a Software Developer (f/m/x) for innovative audio projects You are passionate about audio and DSP algorithms and want to work on new products and solutions. The combination of audio processing and e-mobility sounds exciting to you. You want to solve complex problems through state-of-the-art software solutions and apply your knowledge and expertise to all aspects of the software development lifecycle. What are you waiting for? These could be your future responsibilities: • Handling complex audio software projects, from conception and architecture to implementation • Working on both client-oriented projects as well as our own growing product portfolio • Development, implementation and optimization of new algorithms for processing and generating audio • Sharing your experiences and knowledge with your colleagues This should be you: • You are educated to degree level or have equivalent experience in relevant fields such as Electrical Engineering, Media Technology or Computer Science • You have multiple years of experience programming audio software in C/C++, using frameworks such as Qt or JUCE and Audio Plug-in APIs • You are a team player and are also comfortable taking responsibility for your own projects • You are able to work collaboratively, from requirements to acceptance and in the corresponding tool landscape (Git, unit testing, build systems, automation, debugging, etc.) This could be a plus: • You have programming experience on embedded architectures (e.g.