2010-07-14 4 views
4

C/C++ serait une bonne option pour écrire certains des aspects critiques de performance d'une application Ruby. Je sais que c'est possible.C/C++ dans le code Ruby?

Je voudrais savoir comment ajouter du code C/C++ dans le code Ruby; toute autre langue d'ailleurs.

Y a-t-il des applications pratiques de ce que vous avez remarqué dans les projets open source ou autre?

Répondre

9

plus "L'extension de Ruby", voici deux autres ressources :

  • README.EXT (extension.rdoc) - vous montre plus sur la façon de construire des extensions C. Un bon complément à "Extension Ruby"
  • Ruby Inline - Ceci est une bibliothèque qui essaie de faciliter la construction d'extensions C en appelant des méthodes dans ruby ​​pour compiler du code C.
4

vous devriez jeter un oeil à SWIG - il vous permet de créer des extensions de rubis en C/C++.

0

Compilez votre code haute performance dans un service/exécutable système, et appelez-le depuis Ruby ...?

+0

Bien sûr, le service système serait l'un des moyens. Ce serait bien pour certaines situations. Et probablement maladroit d'exécuter un service système pour de petits morceaux de code C++ dans un gros algo écrit en ruby. – rpattabi

0

On dirait que vous avez besoin de lire sur Extending Ruby

+0

Merci pour la suggestion. C'est probablement l'une des premières choses à étudier. – rpattabi

2

Nous utilisons ffi dans l'un de nos projets.

Ruby-FFI est une extension de rubis pour chargement dynamique des bibliothèques programme, liant les fonctions au sein de leur et appeler ces fonctions à partir le code Ruby. En outre, une extension Ruby-FFI fonctionne sans modifications sur Ruby et JRuby.

Cela fonctionne plutôt bien.

+0

Merci! Plutôt interessant. – rpattabi

Questions connexes