2010-01-14 5 views
1

Je veux expérimenter un peu avec C++ en tant que langage côté serveur. Je ne suis pas à la recherche d'un framework, et je veux simplement réaliser une ancienne application web "Hello World" en C++.Apache mod_C++ voulu?

Existe-t-il un module de serveur HTTP Apache que je peux installer?

Si je peux faire l'équivalent de PHP:

<?php 
    $personName = "Peter Pan"; 
    echo "Hello " . $personName; 

Je serais très heureux! Merci d'avance!

+0

Vous aimeriez avoir un C++ interprété? Ce serait effrayant – Dmitry

+0

Non interprété, pré-compilé –

Répondre

7

cgi ferait cela. Il suffit d'avoir votre application C++ cracher sa sortie à stdout et votre mod_cgi va gérer

+0

Je suis tombé sur mod_fast_cgi, est-ce que cela n'a aucun rapport avec mod_cgi? –

0

Je ne dis pas qu'il n'y a pas une telle chose, mais s'il y a, ce serait monumentalement inefficace. C++ est un langage compilé, pas interprétatif, donc le module putatif Apache C++ devrait invoquer le compilateur C++ pour compiler le code avant de l'exécuter. Ce serait très, très lent, à part d'autres problèmes.

+0

Je ne pense pas qu'il m eant interprété C++, juste l'équivalent du serveur web C++ d'un monde bonjour. –

+1

Il a demandé s'il y avait un mod_C++. Par analogie avec mod_php, mod_perl etc., il s'agirait d'un module Apache qui exécutait du code C++. –

+0

Le C++ sera pré-compilé pour des performances optimales. Si l'on veut interpréter, je suppose que PHP suffirait.:) Je doute que C++ soit inefficace, car le C++ écrit (compilé) peut être très rapide. –

1

Supposons pour l'instant l'OP voulait quelque chose qui était "comme mod_php, mod_perl". Compte tenu de la bonne configuration, il serait extrêmement facile pour le "mod_C++" de regarder les fichiers sources, de compiler les fichiers et de décider s'il devait effectuer une tâche de compilation "one off". En fait c'est comme ça que ça marche.

Je sais que l'OP ne signifiait probablement pas qu'il devait être "interprété", mais il n'est certainement pas impossible d'autoriser apache à compiler des fichiers cpp à la volée si c'est nécessaire [c'est comme ça que fonctionne jsp].

+0

Je me suis un peu inspiré de JSP. Heck, je parie que vous pourriez même obtenir Apache pour compiler PHP si vous vouliez augmenter la performance etc. Qui sait ce qui est possible de nos jours. –

1

J'ai créé une mod_cpp une seule fois. Il était fondamentalement écrit en c, mais chargé d'un .so qui était à son tour écrit en C++.

Ses performances étaient vraiment bonnes, mais il manquait beaucoup de choses que nous tenons pour acquises dans des choses comme PHP (sessions, HTML un/escape, etc.). Il a utilisé un moteur de template pour séparer le HTML du C++.

Je vous le dis, la mise en place initiale était beaucoup de travail (la partie mod_cpp); après cela, il était assez facile d'écrire le .so. J'ai même essayé de créer un projet sf.net pour l'ouvrir, mais je n'ai jamais réussi à le porter :-(

En résumé: Je n'ai rien trouvé de tel sur le net, l'ai-je fait ! a découvert être beaucoup plus de travail alors je prévoyais, mais le résultat a été très cool Cela m'a beaucoup aidé. Apache Modules

+0

Je suppose que c'est toujours le cas avec le développement de logiciels, la tâche à accomplir est toujours un peu plus complexe que nous le pensons. :) –

+0

Egalement au sujet de l'échappement HTML, des dangers de débordement de tampon, d'injection XSS et SQL, ces choses prendront du temps jusqu'à ce que l'on ait développé une bibliothèque complète de POO qui traite les points communs. –