Developpez.com

Le Club des Développeurs et IT Pro

Compiler son programme C/C++ en ligne :

L'ISO C++ publie des variantes de Clang, Visual C++ et GCC, accessibles dans le navigateur

Le 2013-02-04 15:54:08, par Hinault Romaric, Responsable .NET
Vous voulez essayer C++ mais vous n’avez pas de compilateur installé sur votre poste ? Vous voulez découvrir une nouvelle fonction de la spécification C++11 ou encore vous voulez comparer les résultats de compilation entre différents compilateurs ?

Voilà quelques situations auxquelles vous pouvez être confronté et qui peuvent rapidement être résolues grâce à un compilateur dans le Cloud.

Plusieurs sociétés ont travaillé sur des implémentations des compilateurs C/C++ accessibles en ligne.

Le comité de normalisation du C++ vient de publier une liste de ces compilateurs online, qui permettent de compiler son programme C++ dans un navigateur, sans avoir besoin d’un compilateur installé sur son poste.

La liste propose les compilateurs en ligne : LiveWorkspace, qui implémente les dernières versions de Clang (3.2) et GCC (4.7.2) ; gcc.godbolt.org (Clang 3.0, GCC 4.5.3 - 4.8.0 bêta, Intel ICC 13.0.1) ou encore Rise4Fun qui implémente Microsoft Visual C++ 2012.

LiveWorkspace, par exemple, dispose également des compilateurs pour C# (Mono), Python (PyPy) ou encore Fortran (GFortran).

La liste de compilateurs en ligne de l'ISO C++

Source : ISO C++

Et vous ?

Que pensez-vous de ces compilateurs online ? Les avez-vous déjà utilisés ?
  Discussion forum
15 commentaires
  • gbdivers
    Inactif


    Envoyé par Hinault Romaric
    Que pensez-vous de ces compilateurs online ? Les avez-vous déjà utilisé ?
    Très pratique pour faire des tests rapides. Par exemple, j'utilise régulièrement ideone pour corriger un code C++ donné sur le chat ou faire un code d'exemple (on peut donner un lien vers le code et donc permettre d'exécuter l'exemple directement, de voir le résultat de la compilation ou exécution, de copier coller)

    Par contre, je connaissais pas les autres, je vais tester je crois (ideone à une version de gcc un peu ancienne pour le C++11 EDIT : en fait, c'est gcc 4.7.2 maintenant, donc à jour)

    (HS : par contre, l'utilisation du terme "cloud" me fait toujours un peu rire... un nouveau mot bien à la mode pour dire "en ligne"
  • bonnotguillaume
    Membre régulier
    Juste une remarque :

    Tu devrais préciser de quoi tu parles, car "un compilateur dans le Cloud" ou bien des "compilateurs online, qui permettent de compiler son programme C++ dans un navigateur", c'est le jour et la nuit.
  • gbdivers
    Inactif
    Envoyé par bonnotguillaume
    Juste une remarque :

    Tu devrais préciser de quoi tu parles, car "un compilateur dans le Cloud" ou bien des "compilateurs online, qui permettent de compiler son programme C++ dans un navigateur", c'est le jour et la nuit.
    Tu peux détailler ce qu'est pour toi un "compilateur dans le cloud" ?

    (sinon, c'est bien "qui permettent de compiler son programme C++ dans un navigateur", perso, je sais pas trop ce que veut dire "compilateur dans le cloud"

    EDIT : enfin, dit comme ça, c'est pas clair non plus. Le compilateur est bien côté serveur, pas côté client. On a un éditeur en ligne, qui permet d'écrire du code qui sera stocké côté serveur et compilé sur le serveur. Et l'on récupère la sortie de compilation et d'exécution dans le navigateur (du moins pour ideone, j'ai pas testé les autres)
  • Rachel
    Inactif
    bof, je vais rester avec ideone pour le c#, pour ce que j'en faisais
    manque toujours la possibilité d'inclure des bibliothèques externes
  • Hinault Romaric
    Responsable .NET
    Envoyé par bonnotguillaume
    Juste une remarque :

    Tu devrais préciser de quoi tu parles, car "un compilateur dans le Cloud" ou bien des "compilateurs online, qui permettent de compiler son programme C++ dans un navigateur", c'est le jour et la nuit.
    Salut, ces outils sont utilisables en ligne, mais la compilation se fait coté serveur. Donc, sauf erreur de ma part, on se rapproche d'une infrastructure PaaS.
  • Gugelhupf
    Modérateur
    J'utilise aussi ideone, c'est très pratique.
    Merci pour ces liens !
  • Klaim
    Membre expert
    Le seul souci c'est quand tu veux tester quelque chose lie au linker, tu peux pas utiliser differents fichiers. (sauf dans compilr.com mais le nombre de build est limite pour l'utilisation gratuite).
  • Rachel
    Inactif
    Envoyé par Klaim
    Le seul souci c'est quand tu veux tester quelque chose lie au linker, tu peux pas utiliser differents fichiers. (sauf dans compilr.com mais le nombre de build est limite pour l'utilisation gratuite).
    merci pour compilr très bon ide pour c#, hormis l'auto-complétion absente
  • bonnotguillaume
    Membre régulier
    Merci pour vos réponses, on parle clairement de SaaS (le software étant le compilateur).
    Dans la news, j'avais cru comprendre qu'ils avaient écrit un compilateur en javascript, et je trouvait ça bizarre ^^
  • Aiekick
    Membre extrêmement actif
    Comment ils font pour éviter que des petits malins essai de planter le serveur en créant des boucles infini plus ou moins complexes ?

    Ils limitent le temps d’exécution du thread ? d'autres méthodes ?