|
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 ... 147 148 [149] 150 151 ... 205
3701
« en: Martes 26 de Septiembre de 2006, 09:52 »
No se hace la tarea de NADIE en este foro. Ya es el colmo de los colmos que el padre de alguien le tenga que hacer la tarea y encima pretendan que lo ayudemos!
3702
« en: Martes 26 de Septiembre de 2006, 09:10 »
Una pregunta eso no se podria hacer con la funcion getvect(); de C++ ????? NO. Esa NO es una funcion de C++ y este es el foro de ensamblador ...
3703
« en: Martes 26 de Septiembre de 2006, 08:08 »
Si es para MS-DOS MASM y si es para Windows MASM32.
3704
« en: Lunes 25 de Septiembre de 2006, 21:36 »
OK, pero mejor usa alguna variable relacionada con el hilo para que este mismo se termine devolviendo el control al S.O. y no matarlo.
3705
« en: Lunes 25 de Septiembre de 2006, 20:14 »
Sería fácil agregarle funcionalidad con AJAX, para que no recargue la página completa... A mi parecer quedaria no solo mas profesional sino especialmente mucho mas comodo para jugarlo
3706
« en: Lunes 25 de Septiembre de 2006, 18:55 »
A mi tambien me parecio muy interesante, una pena que cuando queres hacer algo recarga la pagina.
3707
« en: Lunes 25 de Septiembre de 2006, 18:53 »
Pasa el codigo de OnEmpezar a una funcion de tipo hilo y en OnEmpezar crea el mismo (CreateThread).
3708
« en: Lunes 25 de Septiembre de 2006, 16:50 »
Cool, pero eso saca la direccion del ISP, no la direccion tuya
3709
« en: Lunes 25 de Septiembre de 2006, 15:03 »
No podes matar un hilo y despues resumirlo ... esta muerto ... si queres pausarlo para que despues continue su ejecucion usa SuspendThread.
Matar hilos es una mala practica (suspenderlos tambien) ... lee la informacion de la MSDN al respecto de esta funcion. Si queres "comunicar" hilos vas a tener que usar funciones que te permitan trabajar con seguridad en un entorno multihilo (lease funciones de sincronizacion).
3710
« en: Domingo 24 de Septiembre de 2006, 15:46 »
Dejarlo tiene que ser de corazón porque eso que hizo mi amigo me parece algo estupido. Juaz ... mas bien parece que hizo una broma ...
3711
« en: Sábado 23 de Septiembre de 2006, 21:20 »
No te entiendo muy bien que quieres decir , este ejemplo lo saque investigando varias cositas y al final las relacione todas , porque habia encontrado un codigo de hacer un ejecutable en vc++6 de 3 kb y se me ocurrio complementarlo y logre ponerlo de 1kb Te habras olvidado de lo que dijiste en el primer mensaje de este hilo: "Se que es posible en vc++ porque eternal idol en un tema de otro foro hizo una aplicacion que mostraba un msgbox y solamente depencia del kernel y pesaba 1 kb"
3712
« en: Sábado 23 de Septiembre de 2006, 18:42 »
Bueno jugando con el linkeador logre hacer un ejecutable de 1 kb que hace un Msgbox eso sin programar mi propia libreria y solamente depende del kernel32 , eso lo logre hacer en visual c++ 6 en el vc++ 2005 lo maximo que eh logrado ah sido 5 kb. Ese era el ejemplo original que nombrabas haber visto en el otro foro
3713
« en: Sábado 23 de Septiembre de 2006, 18:40 »
3714
« en: Sábado 23 de Septiembre de 2006, 00:02 »
Ok, problema solucionado, para que el bloque try-catch funcione con c++builder simplemente hay que chequear la opcion "Use VCL" al iniciar una nueva aplicacion. Genial ... Borland siempre nos da muestras de su gran afan por ser compatibles con el standard
3715
« en: Viernes 22 de Septiembre de 2006, 10:31 »
Bueno pero en todo caso, al declarar una instancia de la clase CString, internamente en su definición si hara su reserva de memoria con NEW, MALLOC o como la quiera reservar el Forrest Gump de turno... Ni new ni malloc ... si relees este hilo tal vez sepas en que tipo de memoria esta ...
3716
« en: Jueves 21 de Septiembre de 2006, 20:37 »
No tomo cafe y la verdad es que el olor tampoco me gusta nada ...
3717
« en: Jueves 21 de Septiembre de 2006, 20:19 »

MUY güeno.
3718
« en: Jueves 21 de Septiembre de 2006, 19:32 »
Jamas.
3719
« en: Jueves 21 de Septiembre de 2006, 16:39 »
Quien dice que no se requiere declarar CString? Nadie. No necesariamente se debe hacer uso del operador new para instanciar, es para manejo(reserva) de memoria. Se debe usar para punteros a objetos, asi de simple.
3720
« en: Jueves 21 de Septiembre de 2006, 15:59 »
Pero toda la documentacion que he visto me dice que CString es parte de las MFC Si la clase te permite usar el operador = con un puntero char* sera que tiene sobrecargado el mismo ... no tiene la menor importancia que sea parte de la MFC o que la haya programado Forrest Gump en su tiempo libre ... Porque no se requiere instanciar el tipo CString en C++? Relee el hilo: str es una instancia de la clase CString.
3721
« en: Jueves 21 de Septiembre de 2006, 15:47 »
Por otro lado no es CString una clase del MFC? eso no tiene nada que ver con saber o no POO, tiene que ver con conocer una libreria para C++ que nunca he usado.
Para intsnciar instanciar la clase no se requeriria hacer uso de new? No y por eso dije que: "Mas bien tu duda viene de desconocer la POO en C++". Y si en lo primero que dije estaba equivocado de acuerdo a tu explicacion, pero la duda me ha desembocado en lo del CString. Mi explicacion no tiene la menor importancia (no me dedico a explicar sino a hacer) estabas equivocado de acuerdo a la realidad.
3722
« en: Jueves 21 de Septiembre de 2006, 15:33 »
OK, pero mi duda viene de que
CString str; char* cad ="cadena"; str=cad;
Es decir str no se ha instanciado, solo definido.. deceonozco como funciona el TIpo CString porque nunca lo he usado y no se como sea internamente pero si es algo mas elaborado que solo otra forma de escribir char *... supongo que deberia resultar en un problema... pero bueno no tengo ni idea de como sea eso. Mas bien tu duda viene de desconocer la POO en C++. CString es una clase y no un tipo, str es un objeto ya que contrariamente a lo que decis si esta instanciado ahi mismo. Y los tres puntos que diste no tienen nada que ver con esto: 1- le asignas una cadena ( "cadena") a un puntero ( cad), no una direccion de memoria 2- no has reservado memoria para donde apunte el puntero ( cad) 3- la cadena no termina en nulo ( "cadena") Como ves, nada de eso esta relacionado directamente a str. PD. Eso de arriba se suele denominar literales de cadena.
3723
« en: Jueves 21 de Septiembre de 2006, 15:24 »
claro, pero digo el ejemplo de arriba. No hay diferencia, lee las respuestas y trata de entender como funciona un ejecutable, asi te vas a dar cuenta de que no hay ninguna diferencia entre pasarle una cadena como parametro a una funcion y asignarle la direccion de comienzo de esa cadena a un puntero.
3724
« en: Jueves 21 de Septiembre de 2006, 15:16 »
he actualizado mi post anterior porque estaba incompleto. No cambia nada ... ¿Esto te parece que no funciona en algun compilador? int edad = 110; printf("%s\r\n", edad);
Funciona perfectamente ya que esa cadena estara reservada en algun lado, donde fuera. Hasta en un ejecutable de tipo COM se podria poner dentro de la misma seccion de codigo y funcionaria.
3725
« en: Jueves 21 de Septiembre de 2006, 15:03 »
pero el codigo que genera? Una salida por consola que dice 99 Por cierto esto: printf("%s\r\n", edad); es un ejemplo de lo mismo y me imagino que lo habra probado el mundo entero. ¿Donde esta el "%s\r\n"? ¿En la luna? No, esta en alguna seccion del ejecutable con permisos de lectura Genera una asignacion de la direccion de una cadena que se encuentra en memoria (en una seccion del ejecutable) a una variable local (en la pila). Para que te des una idea es el equivalente a tener esto en assembly: .data sta db "%s", 13, 10, 0 stb db "Soy una cadena", 0 .code push ebp mov ebp,esp push ecx mov dword ptr [ebp-4], offset stb mov eax, dword ptr [ebp-4] push eax push offset sta call _printf add esp, 8 mov esp, ebp pop ebp ret
Páginas: 1 ... 147 148 [149] 150 151 ... 205
|
|
|