• Martes 20 de Mayo de 2025, 15:10

Mostrar Mensajes

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 ... 129 130 [131] 132 133 ... 205
3251
ASM (Ensamblador) / Re: Consulta, Como Compilar Este Codigo Asm!
« en: Martes 28 de Noviembre de 2006, 23:14 »
Ese codigo asi tal como esta no va ni para atras ni para adelante. Seguramente tenes librerias (.inc, .lib) para declarar y enlazar la funcion ChaosMixLog y las variables MixPrize y CSplinterArmour.

Yo use un par de trucos para hacerlo ensamblar (no lo enlace, no vale la pena el esfuerzo):

Primero y principal empezamos con:
Código: Text
  1.  
  2. .386
  3. .model flat, stdcall
  4.  
  5.  

Esto es para suplir esos archivos (no sirve mas que para lograr ensamblar):

Código: Text
  1.  
  2. ChaosMixLog PROTO STDCALL
  3. MixPrize equ 50 &#59;valor al azar
  4. .data
  5.   CSplinterArmour dd 0
  6.  
  7.  

Y poner .code antes de PieceHornMix Proc hace que desaparezcan los errores ya que  desde ese momento asume que estamos en una seccion de codigo y no de datos.

A eso le falta el DllMain tambien ...

3252
La taberna del BIT / Re: El Mejor Videojuego
« en: Martes 28 de Noviembre de 2006, 20:52 »
SENSIBLE SENSIBLE ... por dios que buen juego ... recien me baje el Sensible 2006 ... no vale nada a comparacion  :(

De los que estuve jugando mas recientemente tambien me gustaron el Splinter Cell y el Still Life.

3253
ASM (Ensamblador) / [Artículo] ¿Ventajas?
« en: Martes 28 de Noviembre de 2006, 18:47 »
Ninguna, es un articulo informativo, no propone hacer esto en el desarrollo normal.

3254
Otros CLR / Re: Visual Basic .NET O Visual C#
« en: Martes 28 de Noviembre de 2006, 16:26 »
Cita de: "dBase3"
Es que no has oido hablar del Linux?
Hay gente q habla bien del Linux, y no le pagan... pues así es..

Hace unos diez años mas o menos ...

Cita de: "dBase3"
Hay q empezar a cambiar el chip y compartir el código (por lo menos el que no es crítico), que ya esta bien de tanto codigo cerrado y cosas asi,  (que no sabes lo que diablos está haciendo el programa, y con el internet.....)

Eso es relativo, si sabes assembly si sabes que hacen los programas, el codigo de Windows es cerrado en C/C++ pero no en memoria. Para los que saben, el codigo de Windows esta ahi.

Cita de: "dBase3"
Lo que hace es que retrasa la economía para que tres monopolios nos expriman a todos y encima pagamos divisas al extranjero.. :devil:

No te creas, hay muchas empresas españolas que ganan dinero con el software y no es precisamente con el Open Source.

Cita de: "dBase3"
Es lo mismo que lo que tu haces  de dar soporte aquí a la gente que necesita solucionar cosas que de hecho me ha servido un monton (en javascript) y no he pagado nada. Y me sacó de un apurillo gordo. :kicking:  :comp:

NO es lo mismo, yo AYUDO a quien tenga una duda o problema pero no regalo mi trabajo.

3255
Otros CLR / Re: Visual Basic .NET O Visual C#
« en: Martes 28 de Noviembre de 2006, 15:52 »
La unica duda que me queda es: ¿Te pagan por hacer la propaganda?

3256
C/C++ / Re: ¿que Falla Aqui?
« en: Martes 28 de Noviembre de 2006, 13:58 »
Cita de: "y0mism0"
Que es el (char*)? porque hace falta ponerlo?

Es un casting, hace falta ya que tu variable es char[5] y no char *.

Cita de: "y0mism0"
Pues no entiendo la diferencia entre retornar "cad" y retornar "&v", ambas son direcciones de memoria, y ambas son modificadas al retornar la funcion, por lo que tambien tendria que variar el contenido de "&v"... incluso el compilador te marca el mismo aviso que dijiste "warning C4172: returning address of local variable or temporary".

No hay diferencia, las dos estan mal, vos dijiste que funcionaba y yo te mostre que en ese caso durante un momento funcionaba y ni bien hacias una operacion el valor, que esta en la pila, era modificado. El contenido de v varia, por algo imprime 77 y no 3, v sigue apuntando a la misma direccion en memoria pero su contenido cambia.

Cita de: "y0mism0"
Otra cosa, que estas comparando en esta sentencia? : "if(cad1<cad2)"... ya se que para comparar se utiliza strcmp...

No se de donde salio eso pero estarias comparando las direcciones en memoria.

3257
ASM (Ensamblador) / Re: Agenda .com
« en: Martes 28 de Noviembre de 2006, 09:48 »
Efectivamente como dice ArKaNtOs el objetivo de este foro no es hacerle la tarea a nadie. En cuanto a la pregunta que haces sobre estructuras la respuesta es dependiente  del ensamblador que uses ya que no existe nada parecido en assembly, si usas MASM en el encabezado Structures and Unions de este capitulo encontraras mucha ayuda:

http://doc.ddart.net/asm/Microsoft_MASM_Pr...6.1/Chap_05.htm

3258
C/C++ / Re: ¿que Falla Aqui?
« en: Martes 28 de Noviembre de 2006, 09:18 »
Los arrays se pasan siempre por referencia, si retornaras (char*)&cad seria exactamente la misma direccion la que estuvieras devolviendo. No hay una variable que guarde el valor de comienzo del array, no es un puntero.

Código: Text
  1.  
  2. void main()
  3. {
  4.   int *p = devuelve(3);
  5.   devuelve(77);
  6.   printf(&#34;%d&#34;,*p);
  7.  
  8. }
  9.  
  10. int *devuelve(int i)
  11. {
  12.   int v = i;
  13.   return &v;
  14. }
  15.  
  16.  

Eso te imprime 77, el puntero es correcto, pero el valor en la pila es modificado posteriormente.

3259
C++ Builder / Re: Referente A Codigos De Operaciones Con Matrices
« en: Lunes 27 de Noviembre de 2006, 20:41 »
Podes tener ayuda haciendo preguntas, cuanto mayor implicacion en el problema (pruebas de que estas intentando hacerlo) muestres aumentaran las posibilidades de que te ayuden.

3260
C/C++ / Re: Debug Assertion Failed
« en: Lunes 27 de Noviembre de 2006, 15:26 »
Cita de: "Diodo"
Ok, el otro delete si lo he mantenido

Ahora si que funciona creando los objetos en la aplicacion y no en la dll.

Asi que era cosa de ese maldito delete[]  ;)  

De todas maneras conviene mantener todo en un heap?? podria dar algun problema  mas?
Si, como te mostraba antes:

Código: Text
  1.  
  2. delete /*[]*/ this-&#62;modulos[i];
  3. delete [] this-&#62;modulos;  
  4.  
  5.  

El primero estaba mal y el segundo estaba bien ya que era un array.

Las dos cosas saltan, tal vez como usas el VC 6.0 no lo veas pero con el .NET 2003 si que se ve, calcula que son asserts de la RTL ...

Si, conviene siempre tener todo en un heap (a menos que quieras hacerte cargo de la gestion de memoria a un nivel inferior). Yo creo que no te dara mas problemas que tal vez un miserable rendimiento debido a que no libere la memoria :lol:

3261
C/C++ / Re: Debug Assertion Failed
« en: Lunes 27 de Noviembre de 2006, 15:19 »
Cita de: "Diodo"
El primero borra la reserva de memoria sin llamar al destructor y el otro simplemente llama al destructor de la clase??
No, delete hace lo mismo siempre (llamada al destructor + liberacion de memoria) PERO uno es para un elemento y el otro para arrays.

delete[]: The function called by a delete expression to deallocate storage for an array of objects.

delete: The function called by a delete expression to deallocate storage for individual of objects.

Por cierto, el otro arreglo es necesario, no se si lo habras probado como antes pero yo si y seguiria fallando si no estuvieran los dos arreglos juntos  :devil:

3262
C/C++ / Re: Debug Assertion Failed
« en: Lunes 27 de Noviembre de 2006, 14:55 »
Si pero hay algo que tambien me parecio raro:

Código: Text
  1.  
  2. delete /*[]*/ this-&#62;modulos[i];
  3. delete [] this-&#62;modulos;  
  4.  
  5.  

Estoy de acuerdo con que this->modulos lo creas con new[]() pero this->modulo lo creas con new(). El primero es un array pero el segundo no, proba ese cambio  :devil:

PD. Despues proba ese cambio con el new/delete usado antes  :devil:

3263
C/C++ / Re: ¿que Falla Aqui?
« en: Lunes 27 de Noviembre de 2006, 09:30 »
Primero un consejo: no uses typedef's totalmente innecesarios, especialmente si queres que otros entiendan tu codigo rapidamente. Usandolos provocas que el codigo no sea directamente comprensible.

Lo que pasa es que esa variable es local y por lo tanto esta en la pila, solo es valida en su ambito, al salir de la funcion la pila es modificada y entonces sus datos ya no corresponden a esos valores que le querias dar (conste que " cero" sobrepasa el tamaño del array, tenes disponibles 4 caracteres mas el 0 que termina la cadena).

Este es el output de un buen compilador como el VC++:
warning C4172: returning address of local variable or temporary

3264
C/C++ / Re: Varias Preguntas
« en: Lunes 27 de Noviembre de 2006, 08:15 »
Cita de: "y0mism0"
Eternal Idol, no entiendo lo que me dijiste de que me falta el codigo para la comprobación.
Código: Text
  1.  
  2. if(2&#60;MAX)
  3.  
  4.  

Teniendo solo ese codigo, sin completar el compilador da error.

3265
C/C++ / Re: Debug Assertion Failed
« en: Domingo 26 de Noviembre de 2006, 18:10 »
Efectivamente, estoy usando Visual Studio 2003, y en el assert justo antes de saltar veo este comentario:

         /*
         * If this ASSERT fails, a bad pointer has been passed in. It may be
         * totally bogus, or it may have been allocated from another heap.
         * The pointer MUST come from the 'local' heap.
         */


Esta claro que estas reservando en el main de probatorio.exe y estas liberando esa memoria en libreria.dll, esto da error por los heaps como dice arriba y te explique antes. Por regla general NO se debe liberar memoria de otro modulo ... malloc/new y free/delete trabajan de manera "local". En pocas palabras eso es lo que pasa, hay muchas maneras de rediseñar el mecanismo asi que eso lo dejo en tus manos  :devil:

3266
C/C++ / Re: Debug Assertion Failed
« en: Domingo 26 de Noviembre de 2006, 15:54 »
Si tuviera el codigo del programa, aunque sea en una minima expresion que diera el problema lo meteria en el VS y lo analizaria ...

Puede ser que el problema se reduzca a que intentas liberar memoria reservada por la DLL desde el ejecutable o viceversa. HeapAlloc y HeapFree (llamadas por malloc y free, que son llamadas a su vez por new y delete) necesitan un parametro de tipo HANDLE para identificar el heap sobre el cual se hace la operacion. La CRT al iniciar llama a HeapCreate y recibe su propio HANDLE ...

3267
C/C++ / Re: Ayuda Urgente En Programación C++
« en: Domingo 26 de Noviembre de 2006, 14:48 »
La verdad es que no, el objetivo del foro es ayudar pero no hacer tareas. Personalmente creo que haciendote la tarea no aprendes nada bueno.

3268
C/C++ / Re: Debug Assertion Failed
« en: Domingo 26 de Noviembre de 2006, 12:41 »
Como no tengo todo el codigo no puedo ayudarte mas que diciendote que depures el programa y veas exactamente en que linea da el ASSERT. Pueden ser muchas cosas como por ejemplo liberacion incorrectas ... vaya uno a saber.

3269
C/C++ / Re: Varias Preguntas
« en: Domingo 26 de Noviembre de 2006, 10:27 »
Cita de: "y0mism0"
1. En primer lugar tengo una duda con los arrays. Porque no se puede poner esto
"int cad[]={1}" y si esto "int cad{1, 7}" ? (el primero es un vector y el segundo una matriz).

Lo primero si funciona; lo segundo no tiene sentido y parece al compilador la definicion de una funcion.

Cita de: "y0mism0"
2. porque no puedes hacer esto:?
#define MAX 5
typedef int a[MAX];
int a[MAX];
if(2<MAX)

Estas volviendo a definir a ... a es un tipo y estas tratando de definir una variable con ese tipo. Es como si hicieras int int ... y te falta el codigo para la comprobacion. Si cambias int a[MAX] por otra cosa que no sea a funciona perfectamente.

Cita de: "y0mism0"
Lo mismo, porque esto no me imprime 8?
#define HOLA 8
printf("HOLA");
porque esto si:
printf("%s",HOLA);

El texto entrecomillado no es reemplazado por el preprocesador. Entonces "HOLA" sigue siendo "HOLA".

Cita de: "y0mism0"
4. que quiere decir el compilador cuando te da un error de "Lvalue"?

Tendrias que poner exactamente cual es el error (si es el output del compilador mucho mejor).

http://en.wikipedia.org/wiki/Lvalue

3270
C/C++ / Re: Qué Ide Usas ?
« en: Sábado 25 de Noviembre de 2006, 22:48 »
La hago corta ya que si buscas vas a encontrar un par de hilos referidos a esto: Visual Studio .NET 2003/2005 con gran diferencia.

3271
Dudas informáticas / Re: Seguridad En Instaladores
« en: Sábado 25 de Noviembre de 2006, 21:54 »
Cita de: "JuanK"
se puede incorporar desde el instalador en hwid de la maquina, dejarlo como referencia en algun lugar, llamese llave de registro o lo que sea y desde utilizar nuevamente cifrado de datos y porque no extraer un hash md5 de dicho valor y asi comenzar a hacer comprobaciones etc.

Si, como poder se pueden hacer esas cosas y muchas mas, solo decia que la solucion era parcial.

Cita de: "JuanK"
en todo caso no hay nada perfecto y cualquier alternativa que decida usar es sensible de ser contrarrestadas tarde que temprano, aunque tratándose de una aplicación 'chica' no era tan fácil que alguien se ponga en la tarea.

Efectivamente. Por ser una aplicacion chica que supuestamente sera usada por poca gente y sera "desconocida" con lo cual habra que ver si realmente vale la pena el esfuerzo ...

3272
C/C++ / Re: Un Dudan Con Comparacion De Cadenas
« en: Sábado 25 de Noviembre de 2006, 17:39 »
Cita de: "AnioN"
primero y principal no podes insertar un string en una variable, vas a necesitar un vector.
Si la variable es char * eso funciona perfectamente, es una simple asignacion de la direccion de memoria que ocupa la cadena en la seccion de datos (.rdata seguramente) y los vectores no tienen nada que hacer mientras no haya ningun "conjunto" de cadenas como en este caso.

3273
Visual Basic para principiantes / Re: Proyecto Visual Basic
« en: Sábado 25 de Noviembre de 2006, 17:20 »
Cita de: "F_Tanori"
Si, yo pudiera lo hiciera, no se si hablamos diferente español o esperabas que te enviara besos, mas que .NET deberias aprender a leer y escribir
Lo mismo digo y repito que tu mensaje me parecio perfecto y muy amable :good:

3274
C/C++ / Re: Un Dudan Con Comparacion De Cadenas
« en: Sábado 25 de Noviembre de 2006, 15:55 »
No, ese == compara que apunten a la misma direccion y strcmp compara que los caracteres sean los mismos.

3275
Visual Basic para principiantes / Re: Proyecto Visual Basic
« en: Sábado 25 de Noviembre de 2006, 15:53 »
Cita de: "TorresMaeso"
pos ale, ya sabeis lo q teneis q hacer!!!
¿Pos? ¿ale? ¿Enseñarte a escribir?


Cita de: "TorresMaeso"
En algo nos parecemos!!! Si lo mio es mala educacion no se yo q sera esto!!!

Eso se llama acertada descripcion.

Páginas: 1 ... 129 130 [131] 132 133 ... 205