elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6
21  Programación / Programación C/C++ / Re: alegro puede reproducir sonidos? en: 17 Febrero 2011, 23:25 pm
Quiza esto te sirva: http://alleg.sourceforge.net/latestdocs/en/alleg024.html

Saludos
22  Programación / Programación General / Re: Otra vez al ruedo: ¿hacer un SO? en: 17 Febrero 2011, 23:19 pm
Hola, que tal.

Decirte que a mi también me interesa bastante la idea, y creo que puede estar muy bien para aprender.
Respecto a monolitico o micronucleo, en mi opinion creo que es mejor que sea el so quien gestione el hardware.

La verdad es que me gustaría bastante participar.

Saludos

23  Programación / Programación C/C++ / Re: Comunicar una aplicacion con otra(en la misma pc)? en: 28 Enero 2011, 13:14 pm
Puedes hacerlo por sockets, pipes etc.

http://lucas.hispalinux.es/Universitarios/seminario-1.html
24  Programación / Programación C/C++ / Re: Duda con variable "fuera de alcance" en: 4 Diciembre 2010, 18:38 pm
Gracias Littlehorse, me ha quedado todo bastante claro.
Hace un tiempo me entraron dudas de este estilo, y decidi aprender lenguaje asm para poder debuguear bien una aplicación, ver lo que ocurría paso a paso y estas cosas, pero desgraciadamente todavia no dispongo del tiempo suficiente.

Aun así, me has aclarado bastantes dudas, ahora se un poquito más =).
Pongo [SOL] en el estado, como para decir que esta solventado.

Gracias, y saludos!
25  Programación / Programación C/C++ / Re: Entorno gráfico para programa en C en: 3 Diciembre 2010, 14:13 pm
Bueno, según he leido tiene algunos bindings para C, aunque si, la mayoria de webs en donde he leido desechan la opción de usar C+QT.
26  Programación / Programación C/C++ / Re: Entorno gráfico para programa en C en: 3 Diciembre 2010, 13:23 pm
Segun he leido, QT no permite bien hacer aplicaciones escritas en C, es más orientado a C++.
Yo uso GTK+ y la verdad es que va bastante bien. La documentación puedes encontrarla aqui: http://library.gnome.org/devel/gtk-tutorial/stable/

Saludos
27  Programación / Programación C/C++ / Re: Duda con variable "fuera de alcance" en: 3 Diciembre 2010, 10:45 am
En el archivo de cabecera string.h, tenes varias funciones que retornan direcciones. Podes revisarlas y veras un pequeño espectro de para que se puede utilizar, pero la verdad es que se pueden usar con múltiples objetivos, al igual que los punteros se pueden utilizar para infinidad de cosas, lo mismo aplica para el retorno de una dirección, ya que en reglas generales son conceptos que van ligados.

He mirado el fichero string.h, pero sinceramente no he podido encontrar lo que decias. Quizás es que yo ya me estoy confundiendo, pero es lo mismo retornar un puntero que una variable por referencia, me refiero a algo asi:

Código:
int *ejemplo(void)
{
    int *i = NULL;

    i = (int *)malloc(1*sizeof(int));
    *i = 4;

    return i;

}

int *ejemplo2(void)
{
    int i = NULL;

    i = 4;

    return &i;

}

Se que no es es muy buen ejemplo, ya en el primer ejemplo la variable i se crea en el heap, i en el segundo en el stack de la funcion. Lo que venia a decir es que en ambas funciones estamos retornando direcciones de memoria, no?

Aun así, muchas gracias, me quedaron claros algunos pilares basicos.

Saludos
28  Programación / Programación C/C++ / Re: Problema al insertar en listas abiertas. en: 3 Diciembre 2010, 10:24 am
Fijate en esto:

Código:
while(aux != NULL) {
                aux = aux->next;
        }

Estas comparando si el puntero aux es NULL, pero luego asignas aux->next a aux, que si que puede apuntar a NULL.

Ahora su codigo hace:

Código:
while(aux->next != NULL) {
                aux = aux->next;
         }

Antes de asignar aux->next a auxt, comprueba que aux->next no sea un puntero invalido.

Saludos
29  Programación / Programación C/C++ / Re: Duda con variable "fuera de alcance" en: 30 Noviembre 2010, 18:59 pm
Gracias Littlehorse, me has aclarado bastante el tema.


Entonces, si lo he entendido bien sería algo asi:

pila cuando llamas a la funcion:

Código:
funciones_automaticas
------------
direccion_a_donde_retornar
------------
parametros_si_hay


pila antes de salir de la funcion:

Código:
valor_de_i (2)
-------------
direccion_a_donde_retornar


Si estoy en lo cierto, lo que se copia en la pila antes de salir de la función, es el valor que contiene i, y no la variable i como tal.
Por otro lado, cuando devuelves a i por referencia, lo que estas haciendo en realidad es devolver la dirección de memoria donde se encuentra i, y como esos datos son machacados al salir de la pila, en la dirección de i puede haber cualquier cosa.

Lo que no entiendo muy bien es en que casos se usa ese metodo. He leido bastantes manuales de C, he visto bastante codigo, y jamás he visto devolver a una variable por referencia. Me suena de que en C++ se hace para según que necesidades, pero en C no se donde radica su uso. ¿Quizá era solo a modo de ejemplo?

Gracias =), se me va iluminando la cosa.
30  Programación / Programación C/C++ / Re: Duda con variable "fuera de alcance" en: 30 Noviembre 2010, 14:18 pm
Gracias a ambos por la contestación.

Lo que no acabo de tender es esto, imaginemos el siguiente codigo:
Código:
int pon(void)
{
    int i = 2;

    return i;

}

void pon2(void)
{

    char buffer[BUFSIZ];
    int i = 0;

    for(; i < BUFSIZ -1 ; i++)
        buffer[i] = 'a';

}

int
main(int argc, char **argv)
{
    int a = 3;


    a = pon();
    printf("%d\n", a);
    pon2();
    printf("%d\n", a);

    return 0;
}

Segun lo que tengo entendido, al llamar la funcion pon(), se pone en la pila sus parametros, la dirección de retorno y las variables automáticas.
Una vez se sale de la función, el espacio que se guardo para las variables de la función se libera, y entonces según esto no debería poder ver el valor de la variable "i", no?

Quiero decir, estoy devolviendo una variable que cuando salgo de la funcion, se "destruye". No logro comprender por qué puedo pasar su valor.
Llevo algunos días liado con esto, he leido algun que otro artículo acerca de como funciona el stack y creo entenderlo, pero no comprendo este comportamiento.

He intentado crear otra función con un poco mas de almacenamiento, para a ver si así dejaba de ver el valor de "i", pero no.

Muchas gracias de antemano


Páginas: 1 2 [3] 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines