|
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 ... 42 43 [44] 45 46 ... 205
1076
« en: Jueves 6 de Noviembre de 2008, 18:52 »
Si, ademas de algo que no vi y es que usas herencia entre esas clases con lo cual ni siquiera arreglando eso te va a funcionar. La solucion es que crees los benditos constructores sin parametros: Y etc (siempre public). Tambien podes hacer esto para los constructores con parametros: no_perecedero(char n[30],char cod[30], float pre, int can) : producto(n,cod,pre,can) { } perecedero(int d, int m, int a,char n[30],char cod[30], float pre, int can) : producto(n, cod, pre, can) { d=dia; m=mes; a=anio; }
1077
« en: Jueves 6 de Noviembre de 2008, 17:53 »
Se puede hacer perfectamente la implementacion dentro de la clase.
No mire mas que los primeros errores, son muy obvios, definiste un constructor con parametros y estas definiendo objetos cuyo constructor no tiene parametros ...
1078
« en: Jueves 6 de Noviembre de 2008, 10:45 »
Pensa y proba, esto es muy pero muy simple.
1079
« en: Jueves 6 de Noviembre de 2008, 09:13 »
Yo solo decía que os fijarais en la lista de inicialización,esa clase tengo más metodos realizados como getNombreApellidos...etc..etc pero no se porque en el constructor copia cuando hago :nombreApellidos(m.nombreAp) me da error,,,era por si alguien lo sabia La razon es muy obvia: no existe ningun miembro de la clase Medico que sea nombreAp.
1080
« en: Lunes 3 de Noviembre de 2008, 21:57 »
Gracias por la ayuda pero no me funcionó.... Segui intentado, proba otras estructuras de repeticion sino hasta que comprendas su funcionamiento, el problema es tuyo.
1081
« en: Lunes 3 de Noviembre de 2008, 17:05 »
Usa alguna de las estructuras de repeticion (while, for, while/do).
1082
« en: Domingo 2 de Noviembre de 2008, 19:23 »
Volve a intentarlo y cuando tengas una duda concreta planteala.
1083
« en: Domingo 2 de Noviembre de 2008, 19:21 »
muchas gracias, pero un cosa, puede hacer que salgan solo los numeros y no el num: o el i: ? Si, lo tenes ahi delante de los ojos como hacerlo, pensa un poco.
1084
« en: Domingo 2 de Noviembre de 2008, 18:41 »
Esta linea no tiene ningun sentido: printf(""num" * "i" = "prod" n");
Cuando quieras imprimir numeros en pantalla usa %d igual que para obtenerlos del teclado, supongo que queres algo como esto: printf("num: %d * i: %d = prod: %dn", num, i, prod);
1085
« en: Viernes 31 de Octubre de 2008, 19:27 »
Jimbenit: ese articulo dice todo lo contrario ...
1086
« en: Viernes 31 de Octubre de 2008, 18:15 »
Lo que tenes que pasar es un LPSECURITY_ATTRIBUTES es decir un puntero a esa estructura (LP=LONG POINTER), la mayoria de las veces se pasa simplemente 0 Sino hay dos formas de hacerlo, con una variable estatica: SECURITY_ATTRIBUTES fAttr; CreateFile(fName, fAcess, fShare, &fAttr, fCreation, fFlags, 0); O con memoria dinamica: LPSECURITY_ATTRIBUTES fAttr = new SECURITY_ATTRIBUTES; //o malloc de sizeof(SECURITY_ATTRIBUTES) CreateFile(fName, fAccess, fShare, fAttr, fCreation, fFlags, 0); delete fAttr; //o free Obviamente tenes que darle los valores correspondientes a los miembros de la estructura si la pasas.
1087
« en: Viernes 31 de Octubre de 2008, 13:58 »
la EULA o la aceptas o no usas el software. Como quieras.
1088
« en: Viernes 31 de Octubre de 2008, 13:48 »
Asi a simple vista no se, pone los prototipos y como estas importando las funciones de la DLL. Y si podes poner la minima expresion de codigo compilable - aunque no tenga nada que ver con el programa - de C y C# que genere el problema mejor.
1089
« en: Viernes 31 de Octubre de 2008, 13:12 »
Lo que tú propones es ingeniería inversa, y desde luego, es ilegal por los derechos de autor. ¿Te has leído la EULA de MS? Mándale una carta a Microsoft a ver qué te responden. Microsoft puede decir lo que quiera de ahi a que los tribunales que debieran juzgar les den la razon hay un trecho y es facil ver como cosas que les permiten en USA no se las permiten en la UE. OK, di simplemente que no lo sabes y terminamos antes. Porque a lo demás sí que respondes. Como siempre respondere a lo que considere oportuno, si me parece que algo se responde solo en el contexto global de una caracteristica y por si solo no vale la pena responderlo no lo hare. Ahí te doy la razón, aunque no se trata de mejor o peor, sino cuál es más rápido. Perfecto, en la cita de A. M. hablaba sobre perfomance tambien y en mi cita que recortaste es mencionado este hecho. Ejem, no voy a perder el tiempo siguiendo un código en ensamblador que me va a llevar más tiempo (del que no dispongo) para no descubrir nada, cuando podría tener el código en alto nivel y verlo más claro y en menos tiempo. Para eso está este post, para que alguien que sepa el porqué me ilumine en mi profunda ignorancia. Aparte, si lo hacen así, es porque no quieren que lo veas, porque está sujeto a derechos de autor y porque es un secreto industrial. Y te repito (n+1 veces) que es ilegal y eso sí que es un hecho. Es tu problema; que repitas algo no cambia nada. Y por favor, no se a quien tratas de engañar pero este hilo esta para tocar los huevos unicamente, si realmente no tenes ningun trauma con Windows no tiene sentido que pierdas tu tiempo con un S.O. que consideras tan desastroso. Obviamente tu actitud no es mas que una pose ¿Sueño? ¿No había una discusión sobre si el ensamblador estaba o no separado del compilador? En fin, que cada uno juzgue por sí mismo: viewtopic.php?f=15&p=135764. De todas formas, no voy a discutir más sobre el post del ASM, tú lo cerraste y se acabó. En efecto, que lo hagan, no se puede discutir sobre algo que desconoces como es tu caso. No lo hagas si no queres, lo trajiste vos a este hilo (nombrandome, hablando de ello y enlazandolo) y no yo. Los talibanes deniegan la libertad, los linuxeros la oferecemos a todos los que tengan un mínimo de ganas de escuchar. Aunque tu intento de meterte con mi religión (musulmana en tu suposición) no estuvo mal. Eso denota tu mala leche y tu poca cultura. Repito: no te enojes, che. Das mala imagen como moderador. A mi la religion me importa muy poco y no tengo ninguna razon para asumir cual es la tuya, si le queres dar connotaciones religosas a ese termino - si careces de suficientes conocimientos sobre el español lo siento sino el que tiene mala leche esta claro que sos vos, por algo como ya dije antes me nombraste en este hilo sin venir a cuento, ya sabemos quien esta verdaderamente enojado - que no tienen es tu problema, una breve busqueda en Google (Linux talibans, "taliban de linux", taliban del software libre, etc) revela el verdadero sentido totalmente desligado a cualquier religion. Y los pobres "Linuxeros" que no pueden dejar de hablar de Microsoft/Windows no ofrecen nada mas que bilis. Sigues intentando entrar en lo personal, perdona que no pique. Claro, cito del enlace que dejaste: "Lo siento, se me olvidó tu fanatismo irracional por MS. Se lo contaré a otro."  De cualquier manera es un hecho que podes intentar, infructuosamente, negar cuanto quieras, como dije antes si de verdad no tuvieras ningun trauma con Windows no perderias el tiempo con el
1090
« en: Viernes 31 de Octubre de 2008, 12:33 »
Los dos ultimos mensajes son contradictorios  No se donde da el error al final de cuentas pero trata de depurarlo y fijarte cuando se reserva, cuando se destruye la memoria, y que hace el codigo de C# con ella, espero que no este tratando de liberar esa direccion con un HEAP propio. Seria interesante saber que hace esto y si despues de llamar a LiberarMemoria seguis usando a resultado: resultado = Funcion1(parametro);
1091
« en: Viernes 31 de Octubre de 2008, 12:16 »
Todo sería más sencillo si tuviera el código, como en Linux. Además es ilegal... De todas formas, no necesito desensamblar el código para ver que usa el fichero de intercambio cuando hay RAM sin utilizar. Ah, no lo hiciste, OK. Ahi se acaba la discucion para mi entonces. En cuanto a que sea ilegal eso dependera de las leyes a las que te debas someter. No sé a qué vienen tus argumentos cuando no terminas de explicar lo fundamental de mi cuestión, que os repito por si se os ha olvidado: ¿por qué usa swap cuando aún hay RAM libre? Ya dije lo que hiciste en realidad en este hilo, si queres averiguar como funciona usa los recursos que se te ofrecen, no tengo ninguna obligacion en responderte a nada. Bueno, veo que se te olvidó mencionar la situación... Lo cual haré yo: let's assume you've got modern hardware with ample RAM and a recent kernel (a late 2.4.x or 2.6.x), and that under normal conditions you never seeing more than 50-100MB of swap used. Aquí se refieren al kernel 2.6 de Linux, y no al kernel de Windows, y tampoco a NTFS sino como mínimo ext2. Y con hardware moderno. Usa NT > 4.0 y 2.6.x en un 486 y compara el rendimiento (si es que consigues instalar Windows). Ciertamente no me habia dado cuenta y pensaba que era la version 2.6 de Office pero parece que no leiste lo que escribiste, cito: >>"Linux® es el unico sistema operativo que tiene el swap fuera del sistema de ficheros" >>"Como debe ser, así es más rápido." Segun vos usar particion swap es per se mejor (o cuanto menos mas rapido) que usar archivos swap, muy bien, segun Andrew Morton no lo es (cuanto menos en determinadas circustancias, seguro que es solo en esta). Te comento ademas que el hilo es del 2005 (por lo del hardware moderno con amplia memoria RAM) y yo asumo que la cantidad de MB es irrelevante al haber sido destacado en la respuesta que lo importante es que no este fragmentado el archivo (seguramente me equivoco). Por lo tanto en una maquina de esta era se sostiene la afirmacion de A. M. y la existencia de las dos opciones en GNU/Linux dice mucho al respecto de tu afirmacion. Es muy gracioso que ahora pidas comparar un Linux moderno (doy por valido 2005 y no 2008 si queres) con NT 4.0 (1996), al menos ya lograron superar la comparacion con el 9x ¿Viene el código? No, por tanto no hay nada que ver. He leído bastantes libros sobre el funcionamiento interno de Windows, pero sin código no hay verdad, sólo BLABLABLA. Como los políticos. En Linux coges el código y ves EXACTAMENTE cómo hace las cosas. Nada de discursos, sólo hechos. Es TU opinion/experiencia que al no tener el codigo FUENTE no podes ver que hace exactamente un software (en realidad es lo contrario ya que lo hace que exactamente solo lo podes ver en assembly/codigo maquina y no en otro lenguaje que sera compilado posteriormente), el codigo de Windows esta cargado en memoria en binario y un depurador te lo muestra en assembly. Son hechos, gusten o no a los talibanes de Linux. Y si es cierto lo que dijiste ("He leído bastantes libros sobre el funcionamiento interno de Windows") entonces esta clarisimo que tengo razon: SOLO TENES GANAS DE ROMPER LAS PELOTAS (DAR POR CULO). No te calientes, hombre. Eso sí denota fanatismo. Y de todas formas no justifica que mantengas una discusión previa para finalmente cerrarla cuando a ti te apetezca, sin derecho a réplica. Sé coherente. No hay ningun calenton/calentura, es la pura realidad, lo hiciste desde tu firma, lo haces en hilos, me parece suficiente propaganda ya. Y no habia ninguna discucion, se estaba hablando sobre una implementacion de un software que desconoces hasta que se te ocurrio nuevamente soltar tu propaganda, te pedi por favor que no lo hicieras pero continuaste asi que hice lo que debia. No es este foro el lugar para descargar tu frustracion/odio/bronca o lo que fuera contra Microsoft.
1092
« en: Viernes 31 de Octubre de 2008, 11:37 »
¿Estas reservando la memoria en la DLL y liberandola en otro lado? Eso nunca funcionara por usar HEAPs diferentes, la RTL crea un HEAP privado cuando se incializa. Veo dos opciones sin pensar mucho:
A. Reservas y liberas en la DLL. B. Reservas y liberas usando el mismo HEAP.
El HEAP es el primer parametro que se le pasa a las funciones de la familia Heap (HeapCreate, HeapAlloc, HeapFree, HeapDestroy, HeapReAlloc, etc).
1093
« en: Viernes 31 de Octubre de 2008, 10:45 »
Para mi opinión LINUX tiene de las mejores (si no la mejor) gestión de memoria que conozco (bueno, es de los pocos con código abierto, también, jejeje). JAMÁS usa el swap si hay memoria libre, lo cual es de agradecer; agiliza bastante el sistema. Pero claro, a mí me gustaría saber por qué Windows lo hace tan mal (en mi humilde opinión). Debemos dar por descontado que m0skit0 ha depurado/desensamblado el codigo de Windows (> NT 4.0) y comprendido perfectamente su funcionamiento antes de afirmar lo anterior. P.D: Menos mal que Eternal Idol no es el moderador de este foro, porque sino me habría respondido y después cerrado el post para evitar respuestas contundentes... Es lo que tiene el fanatismo, que se quedan sin razonamientos para defenderse. Y que conste que no tengo nada personal contra él. Dejemos que responda contundentemente alguien con mas conocimientos al respecto, Andrew Morton: "> Given this situation, is there any significant performance or > stability advantage to using a swap partition instead of a swap file? In 2.6 they have the same reliability and they will have the same performance unless the swapfile is badly fragmented." Fuente. Editado. PD. Estoy practicamente seguro de que ahora lo recomendable seria acceder al enlace dejado en la primera respuesta de este hilo y conseguir el libro Windows Internals para no hablar desde la mas completa ignorancia.
1094
« en: Jueves 30 de Octubre de 2008, 17:42 »
No sé a qué viene la discusión entonces. Entonces antes de responder sin sentido lee el hilo, GRACIAS. Ups, ya se molestó por una VERDAD COMO UN TEMPLO. Lo siento, se me olvidó tu fanatismo irracional por MS. Se lo contaré a otro. Ay, ay, ay uno hace todo lo posible por evitar tener que responer mensajes de este tipo pero parece que es imposible. A NADIE LE INTERESA LO QUE TENGAS PARA DECIR SOBRE MICROSOFT, ESTE HILO ES SOBRE ASM EN VISTA, GRACIAS POR NO APORTAR NADA AL RESPECTO. "Supongo que era eso lo que MS pretendía evitar -siguiendo en su línea de obligar a la gente a usar lo que ellos decidan- integrando el ensamblador en el compilador." ESTO NO ES UNA VERDAD COMO UN TEMPLO SINO UNA FALACIA.
1095
« en: Jueves 30 de Octubre de 2008, 16:53 »
Como ya dije antes el ensamblador SI esta separado, es ML.exe, la generacion de listings es otra cosa.
Si tenes ganas de criticar a Microsoft mejor escribi una entrada en tu blog.
1096
« en: Jueves 30 de Octubre de 2008, 16:32 »
Usa la MSDN para consultar las siguientes funciones:
FindFirstFile/FindNextFile para recorrer (recursivamente si queres) directorios. CreateFile/ReadFile/CloseHandle para trabajar con los archivos. strstr para buscar una cadena de texto en un buffer.
1097
« en: Jueves 30 de Octubre de 2008, 16:30 »
Sí, por supuesto, necesario no es, pero de siempre los compiladores generan ensamblador que después se ensambla, usualmente por un ensamblador externo (aunque puede ser interno). Esto es debido a que muchas veces es necesario ver el código ensamblador generado por el compilador para poder modificarlo u optimizarlo. Entiendo que MS quiera hacer las cosas a su manera, pero gcc por ejemplo no genera código máquina, sino ensamblador. A fin de cuentas es un paso irrelevante a menos que sea solicitado (ya tenes el equivalente en binario), VC++ te permite generarlo con el modificador correspondiente. En cuanto a que muchas veces sea necesario ver el codigo ensamblador generado me permito discrepar, optimizar el codigo de los compiladores actuales es algo extremedamente dificil y si se necesita modificar el codigo generado por el mismo entonces habra algun problema y sera hora de pensar en cambiarlo o usar un ensamblador directamente.
1098
« en: Jueves 30 de Octubre de 2008, 14:45 »
Lo será otro ensamblador, aunque vaya integrado en el mismo compilador (cosa que dudo). Investigalo si estas convencido; no es necesario generar el codigo en ensamblador como tal, siendo este simplemente una representacion mnemonica del codigo maquina se puede obviar.
1099
« en: Jueves 30 de Octubre de 2008, 12:21 »
¿Y si no cómo va a ensamblar el código generado por el compilador de C?  En teoria funciona ese argumento pero en la practica el ejecutable de MASM (ml.exe) no es necesario para VC++.
1100
« en: Jueves 30 de Octubre de 2008, 10:34 »
Debug es de 16 bits y esos ejecutables no son compatibles con los S.O. de Microsoft para x64. MASM es el ensamblador que estas buscando, sirve tanto para 32 como 64 bits y viene con el VC++ (Visual Studio) entre otros paquetes (tambien podes ver http://www.masm32.com). En la carpeta bin del VC++ se encuentra el ejecutable del ensamblador ml.exe (en binamd64ml64.exe para x64) y el linker (link.exe) que es el mismo que se usa con C/C++.
Páginas: 1 ... 42 43 [44] 45 46 ... 205
|
|
|