Autor
|
Tema: puntero a funcion (Leído 10,602 veces)
|
xiruko
Desconectado
Mensajes: 438
|
acabo de buscar lo que era cygwin ya que no tenia ni idea. bueno yo estoy con mac os 64bit y con gcc. puede ser que ese programa sea para 32bits, lastima que no tenga ni idea de que es lo que cambia de una a otra a parte de un poco de teoria xD
en fin, al menos se que funcionar funciona, voy a buscar por ahi a ver que encuentro.
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
acabo de buscar lo que era cygwin ya que no tenia ni idea. bueno yo estoy con mac os 64bit y con gcc. puede ser que ese programa sea para 32bits, lastima que no tenga ni idea de que es lo que cambia de una a otra a parte de un poco de teoria xD
en fin, al menos se que funcionar funciona, voy a buscar por ahi a ver que encuentro.
Nah ni yo tengo cygwin lo he utilizado algunas veces para tutoriales de compilar librerías y eso pero bah, puedes ser pero lo que me parece muy muy extraño es que me funcione tanto tu código como el de la web, porque tienen valores diferentes.
|
|
|
En línea
|
Regístrate en
|
|
|
xiruko
Desconectado
Mensajes: 438
|
entonces el mio te funciona?? es bueno saberlo, aunque si que es raro raro que te funcionen los dos codigos. yo me habia hecho el mio ya que al ser diferente plataforma preferi hacermelo antes que usar el suyo. pero si te funcionan los dos... pff no tengo ni idea de nada la verdad xD
a ver si se pasa alguien y nos puede iluminar un poco.
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Si mira la salida la tienes abajo, yo creo que me estoy metiendo demasiado sin saber , pero lo mismo no es que sea un segmentation fault , si no que no tiene permisos de ejecución en esa zona de memoria... Cógete un debugger, y analiza el código(El ida por ejemplo en http://www.hex-rays.com/products/ida/support/download_freeware.shtml) o el gdb es un debugger en ASM , así puedes ver por donde va. Valor inicial: 1 Valor cambiado: 5
Process returned 0 (0x0) execution time : 0.011 s Press any key to continue.
|
|
« Última modificación: 4 Septiembre 2012, 02:29 am por avesudra »
|
En línea
|
Regístrate en
|
|
|
xiruko
Desconectado
Mensajes: 438
|
ya lo hice antes, pero la verdad no se que buscar. quiero decir que si, veo que el programa peta en el momento de: pfn=&codigo[0], y dice que no tiene acceso a esa zona de memoria (vamos, lo que es un seg fault). eso si declaro la variable local dentro del main. en cambio, si la declaro global el error que me da es bus error. la verdad que ni idea... estoy buscando informacion pero cada nueva web que miro, todo es nuevo para mi y me pierdo al momento. pero bueno, ya tenia ganas de aprender algo nuevo en c que me llamara la atencion asi que a ello voy... algun dia volvere con la respuesta. espero no tardar mucho
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
ya lo hice antes, pero la verdad no se que buscar. quiero decir que si, veo que el programa peta en el momento de: pfn=&codigo[0], y dice que no tiene acceso a esa zona de memoria (vamos, lo que es un seg fault). eso si declaro la variable local dentro del main. en cambio, si la declaro global el error que me da es bus error. la verdad que ni idea... estoy buscando informacion pero cada nueva web que miro, todo es nuevo para mi y me pierdo al momento. pero bueno, ya tenia ganas de aprender algo nuevo en c que me llamara la atencion asi que a ello voy... algun dia volvere con la respuesta. espero no tardar mucho Ya ya pero con uno en assembler puedes ver en que instrucción peta, bueno a ver si vienen algunos expertos por este post jajaja, te dejo las capturas en asm del OllyDbg de tu código: Zona de printfs: Primera llamada: Segunda llamada:
|
|
|
En línea
|
Regístrate en
|
|
|
fary
|
Ya ya pero con uno en assembler puedes ver en que instrucción peta, bueno a ver si vienen algunos expertos por este post jajaja, te dejo las capturas en asm del OllyDbg de tu código: Zona de printfs: Primera llamada: Segunda llamada: El problema es que el está en mac, para windows creo que sobraría con dar permisos PAGE_EXECUTE_READWRITE Con la API VirtualProtect a la parte de memoría que queremos modificar en tiempo de ejecución. saludos.
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
El problema es que el está en mac, para windows creo que sobraría con dar permisos PAGE_EXECUTE_READWRITE Con la API VirtualProtect a la parte de memoría que queremos modificar en tiempo de ejecución.
saludos.
Lo sé pero el caso es que a mí me funciona perfectamente, es curioso , es que esa parte de memoria es solo para ser leída y escribida nada más ¿no mDrinky? y no ejecutada.
|
|
|
En línea
|
Regístrate en
|
|
|
fary
|
Lo sé pero el caso es que a mí me funciona perfectamente, es curioso , es que esa parte de memoria es solo para ser leída y escribida nada más ¿no mDrinky? y no ejecutada.
No, esa parte es de ejecucion. Pero para poder modificarla tienes que tener derecho de escritura.
|
|
|
En línea
|
Un byte a la izquierda.
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
No, esa parte es de ejecucion. Pero para poder modificarla tienes que tener derecho de escritura.
Pero si es un array de char , ¿que menos que pueda ser modificado no?No lo entiendo además si a mi me funciona , me deberia echar para atras por no poder escribir ¿no? Es curioso...
|
|
|
En línea
|
Regístrate en
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
puntero a funcion
Programación C/C++
|
kondrag_X1
|
2
|
3,576
|
30 Abril 2011, 19:49 pm
por leogtz
|
|
|
Funcion y puntero
Programación C/C++
|
gonzalo_C
|
2
|
2,508
|
9 Febrero 2012, 17:01 pm
por gonzalo_C
|
|
|
Arreglo y puntero en una funcion [No me corre]
Programación C/C++
|
barnix456
|
9
|
4,729
|
12 Noviembre 2012, 15:29 pm
por barnix456
|
|
|
Devolver puntero a cadena en función
ASM
|
silver2050
|
2
|
3,033
|
22 Mayo 2013, 00:31 am
por silver2050
|
|
|
Necesito ayuda con Puntero a función miembro.(Solucionado)
Programación C/C++
|
anonimo12121
|
0
|
1,901
|
24 Junio 2013, 18:01 pm
por anonimo12121
|
|