jump to navigation

Syntaxis de C, C++, JAVA y la cosa de Duff June 22, 2013

Posted by hackandfab in Uncategorized.
Tags: , , , ,
trackback

Image

Durante una comida del trabajo me comentaron que la sintaxis y estructuras básicas de C, C++ y Java eran las mismas poniendo como ejemplo “el while y el case” y yo decia que no era asi. El caso más extremo práctico que no solo es una curiosidad academica es la cosa o dispositivo de Duff.

http://en.wikipedia.org/wiki/Duff%27s_device

Es un tipo de estructura muy usada en drivers para pasar datos entre registros.

Básicamente es un do_while dentro de un switch y esto se puede hacer en C y C++ pero no se puede hacer en JAVA. Es solo un ejemplo de que las estructuras son similares pero no idénticas. Es posible implementar lo mismo sin punteros, no es cuestion de que en JAVA no se puedan usar punteros sin más.

http://www.lysator.liu.se/c/duffs-device.html

send(to, from, count)
register short *to, *from;
register count;
{
        register n = (count + 7) / 8;
        switch(count % 8) {
        case 0: do {    *to = *from++;
        case 7:         *to = *from++;
        case 6:         *to = *from++;
        case 5:         *to = *from++;
        case 4:         *to = *from++;
        case 3:         *to = *from++;
        case 2:         *to = *from++;
        case 1:         *to = *from++;
                } while(--n > 0);
        }
}
Advertisements

Comments»

No comments yet — be the first.

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

%d bloggers like this: