Biblioth`Eques Et Compilateurs [Dv] Programmation C++

Total Page:16

File Type:pdf, Size:1020Kb

Biblioth`Eques Et Compilateurs [Dv] Programmation C++ Biblioth`eques et compilateurs [dv] Programmation C++ Universit´ede Haute Alsace Unisciel algoprog Version 24 avril 2015 Table des mati`eres 1 Compilateurs2 1.1 Borland Turbo C++ et C++ Builder....................2 1.2 Microsoft Visual Studio............................2 1.3 GCC - GNU Compiler Collection......................2 1.4 MinGW....................................2 1.5 Intel C++...................................3 1.6 Digital Mars..................................3 1.7 Clang.....................................4 1.8 Ideone { Online compiler...........................4 1.9 Divers.....................................5 2 IDE et RAD6 2.1 Dev-C++ { IDE et compilateur.......................6 2.2 KDevelop { IDE...............................6 2.3 Ultimate++ { Biblioth`eque graphique et suite RAD............7 2.4 Code : :Blocks { IDE.............................8 2.5 Eclipse { IDE.................................9 2.6 Anjuta { IDE................................. 10 2.7 CodeLite { IDE................................ 11 2.8 Complr { Online IDE............................. 12 2.9 Autres..................................... 12 2.10 Divers..................................... 12 3 Biblioth`eques 13 3.1 POCO C++ { D´eveloppement r´eseau et XML............... 13 3.2 Blitz++ { Calcul scientifique en C++................... 13 3.3 ColDet { D´etection de collision 3D..................... 14 3.4 CGAL { Computational Geometry Algorithms Library.......... 14 3.5 Dinkum Compleat Library { Standard C++................ 15 3.6 GC { Garbage Collector for C/C++.................... 15 3.7 GMP { GNU Multiprecision Package.................... 15 3.8 LEDA { Library of Efficient Data types and Algorithms.......... 16 1 Unisciel algoprog { dv00acours-texte, April 24, 2015 2 3.9 Pantheios { C++ Logging.......................... 16 3.10 STLport { Biblioth`eque standard alternative................ 17 3.11 Autres..................................... 17 4 Biblioth`eques `adominante graphique 18 4.1 SDL { Simple DirectMedia Layer...................... 18 4.2 SFML { Simple and Fast Multimedia Library............... 18 4.3 wxWidgets { D´eveloppement multiplate-forme et IHM.......... 19 4.4 QT { D´eveloppement multiplate-forme et IHM............... 20 4.5 OpenGL - Open Graphics Library...................... 20 4.6 Autres..................................... 21 5 Utilitaires 22 5.1 Understand for C++............................. 22 5.2 Ch C/C++ interpreter............................ 22 5.3 Autres informations.............................. 23 5.4 Autres langages................................ 23 5.5 MOOC - RSS................................. 23 Unisciel algoprog { dv00acours-texte, April 24, 2015 3 1 Compilateurs 1.1 Borland Turbo C++ et C++ Builder Turbo C++ : http://borlandc.org/, gratuit C++ Builder : http://www.embarcadero.com/products, commercial Syst`emes : Windows C++ Builder est un vrai IDE (environnement de d´eveloppement int´egr´e)RAD. La ver- sion XE inclut le support du C++11. 1.2 Microsoft Visual Studio Site : http://msdn.microsoft.com/fr-fr/vstudio Syst`emes : Windows La version Express de Visual Studio est gratuite. Elle peut ^etre utilis´ee pour cr´eerdes applications commerciales. 1.3 GCC - GNU Compiler Collection Site : http://gcc.gnu.org/ Syst`emes : Windows (cygwin et mingw), Linux Le compilateur libre par excellence. 1.4 MinGW Site : http://www.mingw.org/ Syst`emes : Windows Unisciel algoprog { dv00acours-texte, April 24, 2015 4 MinGW donne acc`es`atoutes les fonctionnalit´esde l'environnement d'ex´ecution Micro- soft. 1.5 Intel C++ Site : https://software.intel.com/en-us/c-compilers Syst`emes : Windows, Linux, Mac OS X Processeurs : Intel seulement Pour ceux dont les performances du code produit sont essentielles. 1.6 Digital Mars Site : http://www.digitalmars.com/ Syst`emes : Unisciel algoprog { dv00acours-texte, April 24, 2015 5 Digital Mars est un compilateur haute performance pour C et C ++. Il offre des fonc- tionnalit´es telles que les meilleurs temps de la compilation / lien, la technologie d'optimi- sation, la conception par contrat, le source complet de la biblioth`eque, la documentation HTML navigable, le d´esassembleur et bien plus encore. 1.7 Clang Site : http://clang.llvm.org Syst`emes : Windows, Linux, Mac OS X Processeurs : X86-32, X86-64, ARM 1.8 Ideone { Online compiler Site : https://ideone.com/ Unisciel algoprog { dv00acours-texte, April 24, 2015 6 Ideone est un outil de d´ebogage compilateur en ligne pour les d´eveloppeurs C/C++ ainsi qu'une soixantaine autres langages. Cet outil fournit des fonctionnalit´esqui permettent aux programmeurs de compiler le code source d'une mani`ere rapide et efficace. 1.9 Divers Stroustrup : http://www.stroustrup.com/compilers.html Free C/C++ compilers : http://www.thefreecountry.com/compilers/cpp.shtml Free C/C++ compilers : http://www.compilers.net/dir/free/compilers/ccpp. htm Unisciel algoprog { dv00acours-texte, April 24, 2015 7 2 IDE et RAD 2.1 Dev-C++ { IDE et compilateur Site : http://www.bloodshed.net/devcpp.html Site : http://wxdsgn.sourceforge.net/ (version RAD avec wxWidgets, Octobre 2011) Licence : Sources de l'application (en Delphi) disponibles en GPL Syst`emes : Windows Compilateurs : IDE pour Mingw ou GCC Dev-C++ est un IDE libre pour programmer en C/C++. Facile d'installation (une ver- sion inclut m^eme le compilateur Mingw) et pratique (int´egration du d´ebogueur GDB), il est le compagnon id´eal pour ceux qui veulent un IDE simple et rapide. Il est parfait pour ceux qui veulent d´ebuter rapidement. WxDevC++ contient les packs wxWindows install´espar d´efaut. 2.2 KDevelop { IDE Site : https://www.kdevelop.org/ Licence : GPL Syst`emes : Linux, Solaris, Unix, Mac OS X Compilateurs : GCC Unisciel algoprog { dv00acours-texte, April 24, 2015 8 Le projet KDevelop a ´et´emis en place en 1998 pour b^atir un IDE pour KDE facile `a utiliser. Depuis, KDevelop est disponible pour le public sous la licence GPL et supporte beaucoup de langages de programmation. KDE est un IDE tr`eslargement utilis´eet d'une grande qualit´e. Etant´ d´evelopp´eavec la biblioth`eque QT, cet environnement va peut-^etre devenir disponible pour Windows. 2.3 Ultimate++ { Biblioth`eque graphique et suite RAD Site : http://www.ultimatepp.org/ Licence : BSD Syst`emes : Windows, Linux Compilateurs : GCC, MinGW, Visual C++ Unisciel algoprog { dv00acours-texte, April 24, 2015 9 Ultimate++ est une suite ayant pour ambition la productivit´edu d´eveloppeur. Elle comprend un ensemble de biblioth`eque (IHM, SQL, etc.) et un IDE. La rapidit´ede d´eve- loppement que procure cette biblioth`eque provient d'un usage < agressif > des possibilit´es qu'offre le C++, plut^otque de miser sur un g´en´erateur de code (comme QT le fait, par exemple). L'IDE RAD de cette suite, utilise la technologie BLITZ { build pour r´eduire le temps de compilation. Elle propose ´egalement : Un outil de conception visuel d'interface ; Topic++, un outil de documentation de code et de documentation d'application ; Assist++, un analyseur de code C++ apportant un syst`eme de compl´etion automatique de code, de navigation dans le code et une approche de transformation (refactoring) de code. 2.4 Code : :Blocks { IDE Site : http://www.codeblocks.org/ Licence : Syst`emes : Linux, Mac, Windows (utilise wxWidgets) Compilateurs : GCC, MSVC++, clang, Digital Mars, Borland et autres Unisciel algoprog { dv00acours-texte, April 24, 2015 10 Code : :Blocks est l'un des IDE open source la plus populaire et gratuit pour les utili- sateurs C et C ++. Cet IDE a toutes les fonctionnalit´esque le d´eveloppeur a besoin, comme une interface utilisateur efficace, la compilation et le d´ebogage des fonctionnalit´es et bien plus encore. 2.5 Eclipse { IDE Site : http://www.eclipse.org/cdt/ Licence : Syst`emes : Compilateurs : Unisciel algoprog { dv00acours-texte, April 24, 2015 11 Eclipse CDT est l'un des IDE les plus puissants et les plus populaires. Il offre des fonc- tionnalit´es plus efficaces tels que le soutien `ala cr´eation de projet et construction g´er´es pour diff´erentes cha^ınes d'outils, make build standard, la navigation source, divers outils de connaissance de la source, l'´editeur de code avec la coloration syntaxique, le pliage et la navigation de liens hypertextes, le refactoring et la g´en´eration de code ainsi que des outils de d´ebogage visuels. 2.6 Anjuta { IDE Site : http://anjuta.org/ Licence : Syst`emes : Compilateurs : Unisciel algoprog { dv00acours-texte, April 24, 2015 12 Anjuta Devstudio est un autre grand studio de d´eveloppement puissant pour les pro- grammeurs C / C. 2.7 CodeLite { IDE Site : http://codelite.org/ Licence : Syst`emes : OSX, Windows, Linux Compilateurs : Unisciel algoprog { dv00acours-texte, April 24, 2015 13 Code Lite est un IDE open source pour le langage C/C qui fonctionne sur toutes les plateformes majeures. 2.8 Complr { Online IDE Site : https://compilr.com/ Compilr est un IDE en ligne qui vous permet d'´ecrire du code avec des fonctionnalit´es impressionnantes dans une interface utilisateur simple. Cet outil prend en charge un large ´eventail de langages de programmation dont C, C++, Java, HTML, et plus encore. 2.9 Autres Borland C++ Builder : (voir Compilateurs) XCode : (fourni avec le syst`eme d'exploitation Mac OS X) 2.10 Divers Best IDE : http://codecall.net/2014/02/26/best-compilers-and-ides-for-cc-programmers/ Unisciel algoprog { dv00acours-texte, April 24, 2015 14 3 Biblioth`eques 3.1 POCO C++ { D´eveloppement r´eseau et XML Site : http://pocoproject.org/ Licence : Boost Software (licence libre pour le commercial et l'open
Recommended publications
  • GNU/Linux AI & Alife HOWTO
    GNU/Linux AI & Alife HOWTO GNU/Linux AI & Alife HOWTO Table of Contents GNU/Linux AI & Alife HOWTO......................................................................................................................1 by John Eikenberry..................................................................................................................................1 1. Introduction..........................................................................................................................................1 2. Symbolic Systems (GOFAI)................................................................................................................1 3. Connectionism.....................................................................................................................................1 4. Evolutionary Computing......................................................................................................................1 5. Alife & Complex Systems...................................................................................................................1 6. Agents & Robotics...............................................................................................................................1 7. Statistical & Machine Learning...........................................................................................................2 8. Missing & Dead...................................................................................................................................2 1. Introduction.........................................................................................................................................2
    [Show full text]
  • Haskell Communities and Activities Report – Fourth Edition – May 12, 2003
    Haskell Communities and Activities Report http://www.haskell.org/communities/ – fourth edition – May 12, 2003 Claus Reinke (editor), University of Kent, UK Perry Alexander, The University of Kansas, USA Krasimir Angelov, Bulgaria Sengan Baring-Gould, National Semiconductor Corporation Mark T.B. Carroll, Aetion Technologies LLC, USA Manuel Chakravarty, University of New South Wales, Australia Olaf Chitil, The University of York, UK Matthew Donadio Joe English, Advanced Rotorcraft Technology, Inc., USA Levent Erkok, OGI School of Science and Engineering, OHSU, USA Andre W B Furtado, Federal University of Pernambuco, Brazil Murray Gross, City University of New York, USA Jurriaan Hage, Utrecht University, The Netherlands Keith Hanna, University of Kent, UK Dean Herington, University of North Carolina at Chapel Hill, USA Johan Jeuring, Utrecht University, The Netherlands Ralf L¨ammel, VU and CWI, Amsterdam, The Netherlands Daan Leijen, Utrecht University, The Netherlands Rita Loogen, University of Marburg, Germany Christoph L¨uth,George Russell, and Christian Maeder, University of Bremen, Germany Simon Marlow, Microsoft Research Cambridge, UK Jens Petersen, Red Hat, Japan John Peterson, Yale University, USA Henrik Nilsson, Yale University, USA Rex Page, Oklahoma University, USA Sven Panne, Germany Simon Peyton Jones, Microsoft Research Cambridge, UK Bernie Pope, University of Melbourne, Australia Alastair Reid, Reid Consulting (UK) Ltd., UK Chris Ryder, University of Kent, UK Uwe Schmidt, Fachhochschule Wedel, Germany Axel Simon, University
    [Show full text]
  • IT Acronyms.Docx
    List of computing and IT abbreviations /.—Slashdot 1GL—First-Generation Programming Language 1NF—First Normal Form 10B2—10BASE-2 10B5—10BASE-5 10B-F—10BASE-F 10B-FB—10BASE-FB 10B-FL—10BASE-FL 10B-FP—10BASE-FP 10B-T—10BASE-T 100B-FX—100BASE-FX 100B-T—100BASE-T 100B-TX—100BASE-TX 100BVG—100BASE-VG 286—Intel 80286 processor 2B1Q—2 Binary 1 Quaternary 2GL—Second-Generation Programming Language 2NF—Second Normal Form 3GL—Third-Generation Programming Language 3NF—Third Normal Form 386—Intel 80386 processor 1 486—Intel 80486 processor 4B5BLF—4 Byte 5 Byte Local Fiber 4GL—Fourth-Generation Programming Language 4NF—Fourth Normal Form 5GL—Fifth-Generation Programming Language 5NF—Fifth Normal Form 6NF—Sixth Normal Form 8B10BLF—8 Byte 10 Byte Local Fiber A AAT—Average Access Time AA—Anti-Aliasing AAA—Authentication Authorization, Accounting AABB—Axis Aligned Bounding Box AAC—Advanced Audio Coding AAL—ATM Adaptation Layer AALC—ATM Adaptation Layer Connection AARP—AppleTalk Address Resolution Protocol ABCL—Actor-Based Concurrent Language ABI—Application Binary Interface ABM—Asynchronous Balanced Mode ABR—Area Border Router ABR—Auto Baud-Rate detection ABR—Available Bitrate 2 ABR—Average Bitrate AC—Acoustic Coupler AC—Alternating Current ACD—Automatic Call Distributor ACE—Advanced Computing Environment ACF NCP—Advanced Communications Function—Network Control Program ACID—Atomicity Consistency Isolation Durability ACK—ACKnowledgement ACK—Amsterdam Compiler Kit ACL—Access Control List ACL—Active Current
    [Show full text]
  • Introducción a Wxpython
    Lic. Marcelo Fernández [email protected] - http://blog.marcelofernandez.info Publicado bajo Licencia Creative Commons - BY, excepto las imágenes y logos tomadas de sitios de Internet Introducción - GUIs en Python ¿Qué es una GUI? Bibliotecas: ”Bindings” o ”Wrappers” Disponibles en Python: Tcl/Tk: Instalada por defecto. wxPython: wrapper de wxWidgets (antes wxWindows) PyGTK: wrapper de GTK. PyQT: wrapper de QT. (Ver comparativa en http://python.org.ar/pyar/InterfacesGraficas) Introducción - wxPython Lenguajes MiMi AplicaciónAplicación PythonPython AplicaciónAplicación X X Bindings HaskellHaskell WxPython wxD wxErlang wxPerl WxPython wxRuby wxHaskell Otros wxD wxErlang wxPerl Python/C++Python/C++ wxRuby wxHaskell Otros wxWidgetswxWidgets C++C++ WindowsWindows Linux,Unix/GTKLinux,Unix/GTK MacMac OSXOSX OtrasOtras Win32Win32 / / Win64 Win64 wxGTKwxGTK wxMacwxMac wxX11,wxDFB,wxMotif...wxX11,wxDFB,wxMotif... Widgets / Plataformas Ver más en http://wiki.wxwidgets.org/General_Information Introducción - wxWidgets wxPython es una biblioteca para usar wxWidgets (C++) desde Python Hereda sus características Robusta, años evolucionando (1992). Pensado para ser Multiplataforma desde el inicio. Conserva el Look and Feel del entorno y su velocidad, ya que utiliza componentes GUI estándar de cada SO. Permite embeber componentes nativos. LGPL. Aplicaciones con cualquier licencia. Windows, Linux, Mac y más con casi el mismo código fuente, sólo recompilando. Introducción - wxWidgets Introducción - wxWidgets Introducción - wxPython
    [Show full text]
  • Copyrighted Material
    Index abld build 36 AVRecorder 270 with C 40 abld freeze 226 IDE 32 abort() 74, 400, 402 MFC 214 abstract base class 46 Base Class Library (BCL) Mutex 388–391 active objects 31, 94–99, 237 C classes 53, 79, 85, 87 381 battery 10, 14, 43 C Wrappers 339–340 Active Template Library Bazaar 392–393 CActive 95, 97 (ATL) 134 BCL. See Base Class Library CActiveScheduler Adapter pattern 384 Binary Runtime Environment Add() 95–96 Alerts API 166 for Wireless Start() 141 AllFiles 130, 349, 355 (BREW) 253–254 CAknAppUi 155 Alloc() 64 Blackberry 11, 17–18 calendar 186, 251 ALLOC panic 45–46, 399 bld.inf 35, 36, 38, callbacks 147, 324, 381 AllocL() 64 115–116, 186, camera 165, 185, 253 All-Tcb 117 211, 292, 293, 316 Cancel() 98 Android 11, 12, 17–18, bldmake 36, 211 capabilities 228, 348–355 244–253, Bluetooth 127, 138 Android 369–371 369–371 Boost 107, 197 trusted applications ANSI C++ standardCOPYRIGHTED 386 BREW. See Binary MATERIAL Runtime 362–363 APIs 68–71, 103–131 Environment for untrusted applications applications, portable Wireless 363–364 375–396 CAPABILITY 37, 355 ARM RealView Compilation capitalization guidelines Tools (RVCT) 34, C 21, 28, 40, 103–131, 50–51 112 214 Carbide.c++ 32, 38, 72, ATL See Active Template C++ 21, 28, 31, 50, 59, 147, 211, 214, Library 61–66, 103–131, 368–369 auto_ptr 85, 143, 144 CArray 58 391–392 abstract base class 46 CArrayFixFlat 58 412 INDEX CArrayFixSeg 58 Common Language Runtime DLL. See dynamic link CArrayVarSeg 58 (CLR) 236 library CArrayXSeg 58 compilers 34, 39–40, Document Object Model catch 72 318–322 (DOM) 184 CBase 53, 54, 82, Component Object Model DOM.
    [Show full text]
  • Graphical User Interfaces in Haskell
    Graphical User Interfaces in Haskell By Gideon Sireling August 2011 Abstract Graphical user interfaces (GUIs) are critical to user friendliness, and are well supported by imperative, particularly object-oriented, programming languages. This report focuses on the development of GUIs with the purely functional language Haskell. We review prior efforts at supporting such interfaces with functional idioms, and investigate why these are rarely used in practice. We argue that there is no overarching solution, but rather, that each class of graphical application should be supported by a domain-specific abstraction. Finally, we present such an abstraction for data-processing applications; a framework for binding data to graphical interfaces. The framework does not attempt to replace existing graphical toolkits; rather, it adds a new layer of abstraction, with interfaces provided to Gtk2Hs and WxHaskell. Simple examples demonstrate how Haskell can be utilised to accomplish this task as easily as any imperative language. 1 Acknowledgement I would like to thank my supervisor, Mr Andy Symons, for the clear direction which he provided throughout this project. I would also like to thank the good folks who so freely donate their time and expertise to the Haskell Platform, EclipseFP, and all the community projects utilised in this work. Finally, I wish to express my deepest gratitude to my family, who tolerated all the time invested in this project with the utmost grace and patience. 2 Table of Contents Abstract ..............................................................................................................................................
    [Show full text]
  • Foreign Library Interface by Daniel Adler Dia Applications That Can Run on a Multitude of Plat- Forms
    30 CONTRIBUTED RESEARCH ARTICLES Foreign Library Interface by Daniel Adler dia applications that can run on a multitude of plat- forms. Abstract We present an improved Foreign Function Interface (FFI) for R to call arbitary na- tive functions without the need for C wrapper Foreign function interfaces code. Further we discuss a dynamic linkage framework for binding standard C libraries to FFIs provide the backbone of a language to inter- R across platforms using a universal type infor- face with foreign code. Depending on the design of mation format. The package rdyncall comprises this service, it can largely unburden developers from the framework and an initial repository of cross- writing additional wrapper code. In this section, we platform bindings for standard libraries such as compare the built-in R FFI with that provided by (legacy and modern) OpenGL, the family of SDL rdyncall. We use a simple example that sketches the libraries and Expat. The package enables system- different work flow paths for making an R binding to level programming using the R language; sam- a function from a foreign C library. ple applications are given in the article. We out- line the underlying automation tool-chain that extracts cross-platform bindings from C headers, FFI of base R making the repository extendable and open for Suppose that we wish to invoke the C function sqrt library developers. of the Standard C Math library. The function is de- clared as follows in C: Introduction double sqrt(double x); We present an improved Foreign Function Interface The .C function from the base R FFI offers a call (FFI) for R that significantly reduces the amount of gate to C code with very strict conversion rules, and C wrapper code needed to interface with C.
    [Show full text]
  • Q1 Where Do You Use C++? (Select All That Apply)
    2021 Annual C++ Developer Survey "Lite" Q1 Where do you use C++? (select all that apply) Answered: 1,870 Skipped: 3 At work At school In personal time, for ho... 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES At work 88.29% 1,651 At school 9.79% 183 In personal time, for hobby projects or to try new things 73.74% 1,379 Total Respondents: 1,870 1 / 35 2021 Annual C++ Developer Survey "Lite" Q2 How many years of programming experience do you have in C++ specifically? Answered: 1,869 Skipped: 4 1-2 years 3-5 years 6-10 years 10-20 years >20 years 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES 1-2 years 7.60% 142 3-5 years 20.60% 385 6-10 years 20.71% 387 10-20 years 30.02% 561 >20 years 21.08% 394 TOTAL 1,869 2 / 35 2021 Annual C++ Developer Survey "Lite" Q3 How many years of programming experience do you have overall (all languages)? Answered: 1,865 Skipped: 8 1-2 years 3-5 years 6-10 years 10-20 years >20 years 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES RESPONSES 1-2 years 1.02% 19 3-5 years 12.17% 227 6-10 years 22.68% 423 10-20 years 29.71% 554 >20 years 34.42% 642 TOTAL 1,865 3 / 35 2021 Annual C++ Developer Survey "Lite" Q4 What types of projects do you work on? (select all that apply) Answered: 1,861 Skipped: 12 Gaming (e.g., console and..
    [Show full text]
  • The Linux Gamers' HOWTO
    The Linux Gamers’ HOWTO Peter Jay Salzman Frédéric Delanoy Copyright © 2001, 2002 Peter Jay Salzman Copyright © 2003, 2004 Peter Jay SalzmanFrédéric Delanoy 2004-11-13 v.1.0.6 Abstract The same questions get asked repeatedly on Linux related mailing lists and news groups. Many of them arise because people don’t know as much as they should about how things "work" on Linux, at least, as far as games go. Gaming can be a tough pursuit; it requires knowledge from an incredibly vast range of topics from compilers to libraries to system administration to networking to XFree86 administration ... you get the picture. Every aspect of your computer plays a role in gaming. It’s a demanding topic, but this fact is shadowed by the primary goal of gaming: to have fun and blow off some steam. This document is a stepping stone to get the most common problems resolved and to give people the knowledge to begin thinking intelligently about what is going on with their games. Just as with anything else on Linux, you need to know a little more about what’s going on behind the scenes with your system to be able to keep your games healthy or to diagnose and fix them when they’re not. 1. Administra If you have ideas, corrections or questions relating to this HOWTO, please email me. By receiving feedback on this howto (even if I don’t have the time to answer), you make me feel like I’m doing something useful. In turn, it motivates me to write more and add to this document.
    [Show full text]
  • Xildoom Final Report
    XilDoom Final Report 18545 Fall 2010 Robert Waaser Shupeng Sun Soo Hwan Kim Summary For our project, we ported the classic 1993 first-person shooter Doom to a Xilinx LX110T Field Programmable Gate Array (FPGA). We chose to use a source port known as Chocolate Doom which uses the Simple DirectMedia Layer (SDL) library to achieve cross-plaorm compability. AXer building a custom computer system on the FPGA that was capable of running the game, we wrote custom drivers for SDL that allowed Chocolate Doom to run on our hardware. The final result was a SystemAce file that could be used to configure an FPGA to run Doom on boot, complete with keyboard input and audio and video output. Networking was also implemented, but not tested before the public demo. Our Project Idea For our capstone we were required to implement a game, a game console, or one of a number of research projects. For the game route, the game had to be complete with audio and video output, some sort of user input, mulWple players, and a way to keep score. Furthermore the game could not be of our own creaon, as the course was not meant to be a course in game programming but rather a course in systems-level design. We took a look at capstone projects from the past three years and noWced that projects that ported soXware games such as Quake and Descent seemed to have a relavely high rate of success. Typically these projects focused less on designing hardware and code from scratch and more on combining and modifying exisWng code and libraries to funcWon in an embedded environment.
    [Show full text]
  • Your Paper's Title Starts Here
    Advances in Computer Science Research, volume 71 4th International Conference on Machinery, Materials and Information Technology Applications (ICMMITA 2016) Design of H.265 Streaming Media Player System Based on QT * Yu-Hua Wu1, a, Min Zhang1, b, Ting Yang1, c, Shi-Jun Lid, 1Jilin Agricultural University, Changchun 130118, Jilin, China [email protected], [email protected], [email protected], [email protected] *Shi-Jun LI Keywords: H.265, streaming media player, FFmpeg, codec. Abstract. With the continuous development of video services, video applications gradually in order to meet the high resolution, high frame rate, high compression development demand, put forward an H.265 streaming media player system based on QT. Under the QT environment, the use of FFmpeg codec library for video file processing, while the use of SDL multimedia displays library combined with multi-thread display video files. Experimental result shows that the player can play a clearly and smoothly H.265 video files, and can support 4K high-quality video playback. 1 Introduction Video data plays an important role in information interaction. According to the research, it is compared with other information, the human brain accepts 70% of the information is from the visual information[1]. However, with the development of mobile terminals and network technology, people's demand for video is growing, according to research shows that the video data will occupy 75% of the mobile data in 2020[2]. In order to provide users with high-quality video information, and reduce the video file data transmission bandwidth, the ITU-T VCEG put forward H.265 standard after H.264 standard.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria Revision 1.0
    Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Revision 1.0 Rana Naim∗ Mohammad Fahim Nizam† Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Sheetal Hanamasagar‡ Jalal Noureddine§ Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Marinela Miladinova¶ Concordia University Montreal, Quebec, Canada [email protected] Abstract This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional programming, declarative programming, batch scripting, and UI prototyping. We study these languages in the context of the above mentioned criteria and the level of support they provide for each one of them. Keywords: programming languages, programming paradigms, language features, language design and implementation 1 Introduction Choosing the best language that would satisfy all requirements for the given problem domain can be a difficult task. Some languages are better suited for specific applications than others. In order to select the proper one for the specific problem domain, one has to know what features it provides to support the requirements. Different languages support different paradigms, provide different abstractions, and have different levels of expressive power. Some are better suited to express algorithms and others are targeting the non-technical users. The question is then what is the best tool for a particular problem.
    [Show full text]