|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 3 4 [5] 6 7 ... 205
101
« en: Martes 19 de Octubre de 2010, 22:26 »
¿Sale 666 con el codigo que te deje en lugar de 3, no? Al salir de su ambito la variable no es mas accesible efectivamente desde el punto de vista del lenguaje (no podes referenciar a local fuera de funcion) y tambien eventualmente a efectos practicos, el codigo original funciona de casualidad debido a que es simplemente un ejemplo.
Una funcion al comenzar "reserva" memoria en la pila restandole al puntero de la pila (registro esp) para sus variable locales y al retornar lo que hace es dejar la pila apuntando a donde lo hacia antes de ser llamada (sumandole lo que antes le resto), pero no pone esa memoria usada a 0 o algo asi, esa memoria pasa a estar disponible para la proxima funcion que sea llamada.
La mejor forma de ver como funciona es depurandolo instruccion por instruccion (de ensamblador).
102
« en: Martes 19 de Octubre de 2010, 17:43 »
En todo momento la variable, al ser local, esta en la pila. #include <iostream> using namespace std; void funcion(int* &p) { int local = 3; p = &local; } void joder() { int chau[] = { 666, 666, 666, 666, 666 }; } int main() { int numero; int *n = № numero = 2; funcion(n); joder(); cout << *n << endl; cout << numero << endl; system("PAUSE"); return 0; }
103
« en: Domingo 10 de Octubre de 2010, 14:39 »
Para poder mostrarlo en pantalla tenes que transformar el numero en cadena.
Si tenes 12345 tenes que generar una cadena con los numeros ASCII correspondientes: 49,50,51,52,53
104
« en: Sábado 9 de Octubre de 2010, 02:06 »
¿Lo depuraste como te dije? Podes usar debug.com.
Usar ese servicio de la interrupcion 21h para escribir en consola de esa manera no es correcto, ese servicio recibe como parametro una CADENA y no valores enteros.
105
« en: Viernes 8 de Octubre de 2010, 13:24 »
Los datos que queres estan ahi mismo, junto al nombre, en la estructura que devuelven esos dos servicios de MS-DOS. http://www.ctyme.com/intr/rb-2977.htmhttp://www.ctyme.com/intr/rb-2979.htmTe recomiendo depurar el programa para entenderlo mejor, para hacerlo simple si agregas justo despues de llamar a FindFirstFile o FindNextFile esto: Vas a tener el tamaño en el registro cx (tambien tenes ftime y fdate definidos en la estructura).
106
« en: Miércoles 22 de Septiembre de 2010, 13:26 »
Despues de tener un HANDLE al volumendisco en cuestion usas ReadFile.
107
« en: Martes 21 de Septiembre de 2010, 10:45 »
Click aca para el link que dejo rfog.
108
« en: Martes 14 de Septiembre de 2010, 15:56 »
109
« en: Jueves 9 de Septiembre de 2010, 13:39 »
Tenes que hacer un modulo de modo Kernel, el codigo seria tan simple como:
110
« en: Jueves 9 de Septiembre de 2010, 13:29 »
111
« en: Jueves 2 de Septiembre de 2010, 11:40 »
En este momento no se me ocurre otra cosa que declararlos.
112
« en: Lunes 30 de Agosto de 2010, 16:15 »
No, mejor no uses productos de Borland ... son de mala calidad
113
« en: Jueves 26 de Agosto de 2010, 16:10 »
Haciendo coincidir los tipos ... o forzando un casting ...
114
« en: Jueves 26 de Agosto de 2010, 11:47 »
Te advierto que no se hacen tareas. ¿Que hiciste hasta ahora, nada?
115
« en: Jueves 26 de Agosto de 2010, 11:46 »
No, eso siempre da 3 ...
116
« en: Jueves 26 de Agosto de 2010, 11:28 »
leusss: para poder escribir en la variable tenes que pasar su direccion, ahora la estas pasando por valor. &a y en la funcion ***.
ivanmvega: de esa manera pasas la direccion de un puntero y no de un doble puntero como el intenta.
117
« en: Miércoles 25 de Agosto de 2010, 14:24 »
Esta mal, sin duda pero no me creas a mi, hacelo simple: a = 0; matriz_coprimos(a, n); printf("El valor de a es: %.8Xrn", a );
No podes simplemente pasar &a, tenes que cambiar la funcion tambien.
118
« en: Miércoles 25 de Agosto de 2010, 13:05 »
i++ es post-incremento, ++i es pre-incremento, tal vez por eso vez una diferencia ... pero despues de ser ejecutados el resultado debe ser el mismo (incrementar en uno).
119
« en: Miércoles 25 de Agosto de 2010, 12:57 »
No lo mire mucho pero al compilar (como C) el VC++ da un warning crucial: (32) : warning C4700: uninitialized local variable 'a' used
Para poder cambiar la direccion a la que apunta la variable a desde la funcion matriz_coprimos tenes que pasar la direccion de esta variable (&a) y no su valor como estas haciendo ahora.
120
« en: Martes 24 de Agosto de 2010, 18:00 »
De nadas
121
« en: Lunes 23 de Agosto de 2010, 17:42 »
mat = matAux esta bien, liberar la memoria como te dije antes esta mal, podes hacer algo muy simple como matAux = 0 si queres y efectivamente si es una variable local al terminar el metodo ya no puede ser referenciada al desaparecer su ambito.
122
« en: Lunes 23 de Agosto de 2010, 15:49 »
Lo que quiero hacer es crear una matriz dinamica "mat", crear una matriz auxiliar "matAux", liberar la memoria de "mat" creada anteriormente, hacer que "mat" apunte al mismo contenido que "matAux" y liberar la memoria liberada por "matAux". No mire el codigo y solo lei hasta aca, hay un problema de logica, reservas memoria 2 veces y liberas memoria 2 veces, eso es correcto PERO entonces no podes pretender tener un puntero valido. mat = memoria_1 mataux = memoria_2 liberar memoria_1 mat = mataux = memoria_2 liberar mataux = memoria_2 = mat
123
« en: Lunes 23 de Agosto de 2010, 13:12 »
Mas vale tarde que nunca: feliz cumpleaños PD. Edo todavia seguimos firmes aca eh
124
« en: Martes 17 de Agosto de 2010, 16:04 »
Ese libro arranca de 0.- Esto es assembly: http://es.wikipedia.org/wiki/Lenguaje_ensamblador
- El mejor ensamblador para MS-DOS y Windows es MASM/32.
- Google o compra el libro.
- Para depurar y para optimizar (hablamos de PCs, en los microcontroladores es usado para desarrollo tambien).
- Si.
- Son instrucciones ...
- No pero pueden ayudar a aprender mas rapido.
125
« en: Sábado 14 de Agosto de 2010, 20:29 »
¿No seria mejor declarar esos miembros privados y hacer metodos getter/setter? Podrias implementar la sincronizacion en los metodos, no se si pensaste en eso (mutex, secciones criticas, etc.).
Páginas: 1 ... 3 4 [5] 6 7 ... 205
|
|
|