Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Falta de prototipos

    (Puntos:3, Interesante)
    por prego (5956) el Martes, 31 Octubre de 2006, 08:37h (#835975)
    ( http://barrapunto.com/ | Última bitácora: Lunes, 24 Noviembre de 2008, 09:35h )
    Cuando hace un año me compré un fantástico AMD64 (no puedo estar más contento), me encontré con una situación curiosa debido a que tenía código mal escrito. El problema está en las funciones que devuelven una posición de memoria (array, p.e.) pero que no tienen el prototipo definido (o no se ha metido el include), compilando sin opciones que eviten la compilación ante falta de prototipos. Entonces si tienes la función:
    int * genera_array( int tamanyo);

    pero no la prototipas, en 32 bit "no pasa nada", pero en 64 bit tienes problemas, porque por defecto una función sin prototipo en C devuelve int que ocupa 32bit, mientras que la dirección de memoria en 32bit ocupa 32 bit; si bien en 64bit ocupa 64bit. En 64bit se carga la mitad de la dirección de memoria y te devuelve una dirección inválida :-P

    Perseguir este tipo de situaciones es el pequeño esfuerzo que he tenido que hacer para portar el software a 64bit.
    --
    _____________
    Un espresso? \____
    Puntos de inicio:    3  puntos
    Modificador extra 'Interesante'   0  

    Total marcador:   3  
  • 1 respuesta por debajo de tu umbral de lectura actual.