Autre que le purement évident: "Il traduit Perl en C."; y a-t-il des utilisations du monde réel (hacks a.k.a.) pour le backend de traduction C optimisé du compilateur Perl, B :: CC?Quelles sont les utilisations du backend de traduction C de Perl?
Répondre
Pas vraiment. Cela signifie que vous pouvez convertir un (petit) script Perl en un (grand) programme C, ce qui sera beaucoup plus difficile pour le destinataire de faire de l'ingénierie inverse. Dans certains cercles paranoïaques, cela peut être considéré comme un avantage (par exemple, si votre code Perl est embarrassant et que vous préférez cacher ce fait à vos clients payants). Mais la plupart du temps, elle est de valeur limitée à négative.
La compilation d'un programme Perl sur une optree, qui peut ensuite être exécutée, peut parfois prendre du temps. Vous pouvez sécuriser une partie de ce temps en utilisant perlcc avec n'importe lequel de ses backends. Cela va, d'une manière ou d'une autre, sérialiser l'optree compilé et le charger plus tard, lors de l'exécution de votre binaire compilé, un peu plus vite. Je peux voir cela utile dans, par exemple, les environnements CGI, pour lesquels, cependant, de bien meilleures alternatives pour éviter les coûts de démarrage sont disponibles.
Contrairement à croire populaire, perlcc ne le rend pas très difficile de désosser le binaire résultant, comme indiqué dans How can I reverse-engineer a Perl program that has been compiled with perlcc?
- 1. Quelles sont les utilisations acceptables de goto?
- 2. Combien et quelles sont les utilisations de "const" en C++?
- 3. Quelles sont les utilisations pratiques du fichier resx?
- 4. Quelles sont les utilisations des métadonnées de Clojure?
- 5. Quelles sont les utilisations légitimes des crochets de clavier globaux?
- 6. Quelles sont les utilisations de la portée "flash" dans JSF?
- 7. Quelles sont les meilleures utilisations des magasins de documents?
- 8. Quelles sont les utilisations intéressantes pour les agents Java?
- 9. Quelles sont les considérations importantes lors des tests de backend?
- 10. Quelles sont les utilisations des paramètres de modèle de modèle en C++?
- 11. Ruby stdio consts et globals, quelles sont les utilisations?
- 12. Quelles sont les principales spécifications C/C++?
- 13. Quelles sont les recommandations de votre système de gestion de traduction crowdsource?
- 14. Quelles sont les utilisations pratiques de Lua dans Mac OS X?
- 15. quelles sont les utilisations des différentes opérations de jointure dans sql
- 16. Quelles sont les implications de portabilité de l'utilisation du NDK?
- 17. Quelles sont les bibliothèques de graphes de qualité pour C?
- 18. Quelles sont vos utilisations les plus courantes pour les expressions régulières?
- 19. Quelles sont les règles d'appel du constructeur de la superclasse?
- 20. Quelles sont les limites du refactoring?
- 21. Quelles sont les capacités du framework WebKit
- 22. Quelles sont les applications réelles du rendement?
- 23. Backend simple de localisation/traduction web (en utilisant mysql)?
- 24. Traduction de CRLF avec Unicode en Perl
- 25. Où sont les utilisations intelligentes de l'évaluation stricte?
- 26. Quelles sont les utilisations les plus pratiques que vous avez appliquées à la méthode data() de jQuery?
- 27. C++: quelles sont les vulnérabilités les plus courantes et comment les éviter?
- 28. Quelles sont les limitations de C++ fonctionnant sur l'iPhone?
- 29. Quelles sont les autres bibliothèques équivalentes de C++ qt
- 30. Quelles sont les structures de données dans Objective-C?
Pourriez-vous donner des détails sur les solutions de rechange afin d'éviter les coûts de démarrage pour CGI? – Konerak
Un bon moyen d'éviter les coûts de démarrage répétés serait de ne pas démarrer votre application de manière répétée. C'est-à-dire, n'utilisant pas CGI, qui exécutera votre programme à chaque demande. Au lieu de cela, par exemple, utilisez un processus persistant qui exécute votre application et demandez à votre serveur Web de lui en parler. FastCGI est un moyen très populaire de le faire, et il y en a beaucoup d'autres. – rafl
Notre code (une application web assez complexe) utilise FastCGI. Fonctionne bien. mod_perl est un autre choix. – GeneQ