| Stages 2009 |
| Written by Vincent Richomme | |
| dimanche, 05 octobre 2008 | |
|
There are no translations available Stage1 : Implémentation des exceptions SEH par table au sein du compilateur cegcc. Contexte : cegcc est un projet open-source qui a pour but de fournir une version modifiée de gcc permettant de compiler du code à destination des plateformes tournant sous Windows CE/ Windows Mobile. Une des limitations actuelles de cegcc concerne la gestion des exceptions car pour le moment elle n'utilise pas le méchanisme natif de Windows et implémente deux stratégies, le Sjlj ainsi que le DWARF2. Ces deux méthodes ont l'inconvénient de générer des binaires assez gros et c'est pourquoi nous proposons ce stage qui consiste a implémenter dans cegcc la gestion native des exceptions windows, qui se nomme SEH (Structure Exception Handling). Il existe en fait deux implémentations SEH en fonction du processeur utilisé, la première dite "frame based SEH" est utilisé sur les machines x86 et a deja fait l'objet d'une implementation il y a quelques annèes mais le patch n'a jamais été intégré au tronc commun de GCC La deuxième implémentation qui nous intéresse se nomme "table based SEH" et est utilisé sur la plupart des processeurs autre que x86 et en particulier sur les plateformes ARM utilisées par les téléphones sous Windows CE. Le stagiaire devra etre intéressé par la compilation et connaitre si possible de l'assembleur (x86, ARM, PIC, ...) Environnement : autotools, gcc, svn, C, assembleur ARM, binutils, theorie des languages Note : Etant donné la complexité du sujet, l'étudiant pourra etre aidé par le contributeur principal de cegcc Ce stage apportera également une grande contribution au compilateur GCC sous Windows et Windows CE Stage 2 : Géneration d'un cross-compilateur D et études sur la possibilité d'utiliser ce langage sur les plateformes embarquées. Contexte : Le langage D est un tout nouveau langage natif a mi chemin entre le C++ et les langages managés de type Java ou C#. L'objet du stage sera de générer un cross-compilateur D à partir de cegcc. Une première tentative reussie a été effectuée par des épiteens comme stage de fin de prepa mais n'a pas permis de répondre à toutes les interrogations au sujet du langage. La premiere partie du stage consistera donc à regénérer le cross-compilateur puis ensuite a developper des applications afin de tester la validité du langage. Environnement : autotools, gcc, svn, C++, D, Design Patterns Stage 3 : Portage de la librairie de jeux Crazzy Eddie Gui sous Windows Mobile Contexte : Crazy Eddie Gui est une librairie destinée a simplifier le developpement d'interface graphique dans les jeux. Le but de ce stage est de porter les differents modules vers Windows CE (libpng, libjpg, opengl, ...). Environnement : Visual Studio 2005/2008, Windows Mobile SDK, FreeImage, DevIl, libpng, openGL. Stage 4 : Etudes sur l'utilisation d'OpenGL ES comme API 3D sur les mobiles |

