stroof 
|
|
stroof 
|
|
pmaicas 
|
Publicado: Vie Jun 04, 2010 11:56 am Título del mensaje: |
|
|
En la primera (memset), tienes puesto *p++ = 0; , debería ser *p++ = v; o solo servirá para poner a cero, aparte falta el cast del puntero ((unsigned char*))
Estas dos funciones se suelen compilar directas a assembler (quiero decir que el compilador lo hace así), y optimizadas al tamaño de la palabra del microprocesador, ya que suele haber (al menos en X86) una instruccion de código máquina equivalente, sin necesidad de hacer un bucle.
Es raro que exista un bug en lago tan básico, quizás es que estás usando mal la función, solapando el buffer de entrada y el de salida, cosa que no se debe hacer o el resultado será impredecible. Si necesitas solapar los buffers entonces se recurre a hacerlo con un bucle tal como muestras en tu mensaje, pero es mas lento que el código generado por el compilador. |
|
stroof 
|
Publicado: Lun Jun 07, 2010 1:12 pm Título del mensaje: |
|
|
Cambios aplicados, muchas gracias!!
Y decir que sí, que la última revisión del NDK tiene ese par de bugs... lo vi en una fuente bastante fiable.
Aunque si alguien quiere confirmarlo...
Un saludo! |
|
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|