Estendere Ruby con C

Capita a volte di aver bisogno di estendere Ruby con codice C.
I motivi principali riguardano le performance dell’applicativo e la comodità garantita da un linguaggio di basso livello come C.
Altre motivazioni possono riguardare la necessità di utilizzare con Ruby una libreria C non disponibile in Ruby.

Nel mio caso ho trovato estremamente utile, se non del tutto necessario, utilizzare C per eseguire operazioni di compressione/decompressione con l’algoritmo di Huffman, in special modo sentivo particolarmente la mancanza dei comodi puntatori C.

Dopo una breve ricerca ho trovato un buon tutorial in lingua inglese su rubyinside.com.
Seguendo il tutorial potrete compilare la vostra libreria in C e creare un modulo da utilizzare per estendere una classe Ruby.

Per completezza, ho trovato anche altri metodi per ottenere risultati similari, tra i quali Ruby Inline, Swig e DL. A mio parere però, nessuno di questi metodi ha la linearità e la semplicità del metodo offerto da `How to create a Ruby extension in C in under 5 minutes` di Peter Cooper.

A breve creerò un tutorial per questa utile funzionalità.

About these ads

Tags: , , , , , ,

About Giulio Turetta

Sviluppo e curo siti web dal 1998, amo internet e le opportunità che ci offre. Grazie anche a te, che fai parte di questo mondo fantastico.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: