J'ai essayé d'utiliser EventMachine etc. avec JRuby. J'ai des erreurs sur les extensions natives. Je crois que cela est dû aux limitations de Java. Je pense que le fait que je sois sur Windows complique encore plus le problème. Des éclaircissements seraient appréciés. Quelles extensions peuvent/ne peuvent pas être utilisées avec JRuby? Comment puis-je le dire? Merci.JRuby/Windows et les extensions (natives) comment les distinguer?
Répondre
Il n'y a pas vraiment moyen d'utiliser les extensions natives dans jruby. les extensions natives appellent du code c qui ne peut pas être appelé dans jruby sans l'implémenter dans java. Mis à part cela, quelques extensions voient des ports jruby, par exemple EventMachine que vous avez mentionné.
et pour autant que je sache, la seule façon de voir si vous pouvez utiliser un petit bijou/extension avec JRuby est de lire la documentation, essayez ou lire la source
JRuby ne supporte pas les extensions natives, malheureusement, car ils dépendent de la mémoire spécifique et des détails d'exécution spécifiques à l'implémentation C.
Habituellement vous pouvez trouver une bibliothèque équivalente sur la machine virtuelle Java qui fonctionne bien en remplacement ...
Pour compléter LDomagala's answer, vous pouvez également consulter this thread liés à la même question « d'extension native »
Certains scripts d'installation peuvent s'appuyer sur RUBY_PLATFORM
pour déterminer s'ils doivent générer les extensions natives en fonction de votre système d'exploitation. Si vous êtes sur Windows, il ne les construira pas.
L'autre façon d'éviter la compilation native est d'utiliser la variable ENV 'NORUBYEXT
'.
Mais cela peut encore impliquer quelques ajustements dans le script d'installation ruby ...
- 1. Comment distinguer $ _ dans les opérateurs de liste imbriqués dans Perl?
- 2. X509Certificate2: Les extensions sont manquantes
- 3. Fonctions natives d'Hibernate et Oracle
- 4. Comment utiliser les extensions et les méthodes utilitaires dans le balisage?
- 5. Réécrire les URL pour exclure les extensions de fichier
- 6. Problèmes de type avec les classes Java natives
- 7. L'installateur doit distinguer Vista et XP
- 8. PHP-CGI ne charge pas les extensions
- 9. Comment travailler efficacement avec les extensions de débogage SOS?
- 10. Comment fonctionnent les extensions serveur de première page?
- 11. Comment interpréter les codes d'erreur à partir des extensions FrontPage?
- 12. Squelette initial pour les extensions Firefox?
- 13. Images pour les extensions de fichiers
- 14. Fichiers de sauvegarde SQL, distinguer les fichiers de sauvegarde partielle et complète
- 15. Comment intégrer des applications natives avec eclipse?
- 16. Comment voulez-vous faire cela avec les extensions mvc de Telerik asp.net? accordéon, onglets et ajax
- 17. Quelles sont les manières natives de Java de communiquer directement avec les périphériques?
- 18. Comment utiliser Marshal.ReleaseComObject avec Win32 fonctions natives
- 19. Comment écrire des fichiers de redirection de politique pour les DLL SxS natives?
- 20. Comment puis-je obtenir C# pour distinguer les noms de classe ambigus?
- 21. Type Contrainte sur foreach utilisant les extensions LINQ
- 22. Modifier les extensions des zones d'authentification FBA/AD dans SharePoint?
- 23. Comment écrire une bonne regex pour distinguer les caractères arabes et anglais dans Oracle en utilisant le codage AR8MSWIN1256?
- 24. Interrogation des extensions sur les certificats X509 à l'aide d'OpenSSL
- 25. Où se trouvent les fichiers sources des extensions de Groovy?
- 26. Le conteneur de nommage n'est pas "mis" dans les extensions
- 27. C#: paramètres de type multiple dans les extensions
- 28. Intégration de modèles et de vues dans les nouvelles extensions Sinatra
- 29. Comment puis-je compiler Firefox et inclure quelques extensions?
- 30. pouvez-vous distinguer entre un test et un paramètre variable?