|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Hinault RomaricConsultant Inscription : janvier 2007 Messages : 2 833 ![]() |
Compiler son programme C/C++ en ligne
l’ISO C++ publie des implémentations de Clang, Visual C++ 2012 et GCC, accessibles dans le navigateur 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 ?
__________________
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire ![]() Mon blog Mes articles En posant correctement votre problème, on trouve la moitié de la solution |
|
91
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 318 ![]() |
![]() Citation:
Par contre, je connaissais pas les autres, je vais tester je crois ( (HS : par contre, l'utilisation du terme "cloud" me fait toujours un peu rire... un nouveau mot bien à la mode pour dire "en ligne")
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
|
40
|
|
|
#3 |
|
Membre du Club
![]() Guillaume BonnotIngénieur développement logiciels Inscription : janvier 2012 Messages : 19 ![]() |
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. |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 318 ![]() |
Citation:
(sinon, c'est bien 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)
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() |
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
__________________
(marquer un post résolu si vous êtes satisfait de la réponse mon dépôt (mono, monodevelop, ...) : deb(-src) http://breizhodrome.free.fr raring main ma page github : https://github.com/inizan-yannick |
|
00
|
|
|
#6 |
![]() ![]() ![]() Hinault RomaricConsultant Inscription : janvier 2007 Messages : 2 833 ![]() |
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.
__________________
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire ![]() Mon blog Mes articles En posant correctement votre problème, on trouve la moitié de la solution |
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Développeur informatique Inscription : décembre 2011 Messages : 239 ![]() |
J'utilise aussi ideone, c'est très pratique.
Merci pour ces liens ! |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Joel LamotteDéveloppeur de jeux vidéo Inscription : août 2004 Messages : 1 555 ![]() |
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).
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() ![]() |
Citation:
très bon ide pour c#, hormis l'auto-complétion absente
__________________
(marquer un post résolu si vous êtes satisfait de la réponse mon dépôt (mono, monodevelop, ...) : deb(-src) http://breizhodrome.free.fr raring main ma page github : https://github.com/inizan-yannick |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Guillaume BonnotIngénieur développement logiciels Inscription : janvier 2012 Messages : 19 ![]() |
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 ^^ |
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Inscription : mars 2006 Messages : 117 ![]() |
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 ? |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Guillaume BonnotIngénieur développement logiciels Inscription : janvier 2012 Messages : 19 ![]() |
Ils ont certainement mis en place un monitoring des ressources attribués a chaque tache, chaque "personne".
Bref, au mieux, ils arrentent la tâche, au pire, ils ban ton ip. Enfin, c'est ce que je ferais |
|
|
00
|
|
|
#13 |
|
Membre éprouvé
![]() Développeur informatique Inscription : octobre 2005 Messages : 203 ![]() |
N’empêche c'est jouer avec le feu.
Visiblement, liveworkspace par exemple, semble se baser sur les permissions Linux pour mettre des restrictions. Je connais mal Linux, mais faut vraiment qu'il soit robuste pour permettre ça ! chdir fonctionne bien, uname aussi, on peut utiliser opendir/readdir sur la racine "/"... Exécuter du code natif sur une machine c'est quand même habituellement le premier pas vers une intrusion, et là c'est dispo par défaut. ![]() Bien sûr c'est pas nouveau. La grille de calcul européenne fonctionnait (Et probablement encore) sur ce principe : on envoyait le source et les données, et le tout était compilé et exécuté sur machine au hasard à un paquet de kms de là. [edit] A la réflexion, Linux correctement configuré est supposé suffisant. En théorie. |
|
|
00
|
|
|
#14 | |
|
Membre actif
![]() Inscription : mars 2006 Messages : 117 ![]() |
Citation:
Non ce qui m’intéresse c'est comment détecter à temps avant le plantage du serveur les processus qui n'aboutiront pas. Car venant de leur part il auront 3 cas de figure : 1) processus long mais qui peu aboutir ( comment peuvent t'ils le savoir ) 2) processus long parce que boucle infini (pas faite exprès, dans le sens erreur de programmation ) 3) processus long parce que boucle infini (provoquée ) le ban c'est pour la 3, mais comment détecter ces 3 cas de figures. oui en limitant les ressources allouée a un processus ou en limitant le temps d’exécution ça peut régler le problème mais ça va affecter la qualité du service.... |
|
|
|
00
|
|
|
#15 | |
|
Membre éprouvé
![]() Développeur informatique Inscription : octobre 2005 Messages : 203 ![]() |
Citation:
Ils peuvent "tout" faire, notamment compiler des programmes partant en boucle infinie, écrire dans un fichier, ou faire des programmes qui lancent d'autres programmes récursivement pour lancer une quantité exponentielle de processus. Pourtant ces serveurs tiennent tout à fait le coup. Le système d'exploitation est fait pour. Par exemple avec les droits sur les fichiers et répertoire(cf plus haut : on peut parcourir leur disque mais pas écrire dessus, on ne peut pas apparemment exécuter de commande shell...) Pour ce qui est du nombre de processus et la consommation cpu, il y a ulimit. Donc s'il est correctement configuré, le seule moyen de pourrir leur serveur, ce serait de passer par une faille ou une manip pour avoir une élévation de privilège. [ironie]Mais c'est bien connu il n'y a pas de failles sous Linux.[/ironie] |
|
|
|
00
|
|
|
#16 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 318 ![]() |
J'ai tout cassé ! Ou presque
Citation:
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com