Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#81
Tenes que pasar el puntero como referencia o doble puntero. Mejor explicado aca:
http://conclase.net/c/curso/cap15

Ejemplo de como lo estas haciendo y como podria funcionar, en error l es una variable local pasada por valor:
Código (c++) [Seleccionar]
#include <cstdio>

void error(int *l)
{
l = new int;
}

void reserva(int **l)
{
 *l = new int;
}

void main ()
{
int *m1 = nullptr;
int *m2 = nullptr;
error(m1);
reserva(&m2);
printf("%p %p\r\n", m1, m2);
}



Por cierto tu codigo no compila ni a palos, no podes llamar new a una funcion en C++ al ser una palabra clave (y no podes usar class en C ...).
#82
Cita de: marax en 21 Octubre 2021, 17:34 PM
Si, Eternal Idol, entiendo que la ejecucion de un ciclo no puede ser dividida, pero lo que no entiendo es por que disminuye, porque no es que sea baja la velocidad, es que disminuye con el tiempo, es decir, es mas rapida en un momento y mas lenta a medida que pasan los segundos... eso es lo que no logro comprender


No se. ¿Te estas quedando sin RAM? Tu programa opera con memoria virtual, eventualmente tendra que paginar si no paras de reservar. ¿Estas ordenando los datos a medida que los procesas? Con unos pocos, al principio, el ordenamiento es mucho menos costoso ...

Cita de: marax en 21 Octubre 2021, 17:34 PM¿Es eso lo que esta detectando el sistema? ¿Un waste.exe?

No; waste.exe es el ejecutable generado con el codigo que deje, en sus dos versiones. El sistema no detecta nada, esa es una conclusion apresurada y sin respaldo.

marax: edita los mensajes por favor en lugar de crear dos consecutivos.
#83
Si el programa tiene un solo hilo ese es el comportamiento esperado y logico.

Ejemplo, 12 procesadores/nucleos:


Código (c++) [Seleccionar]
#include <cstdio>

void main()
{
for (int x = 0; ; x++);
}


Usa el 100% de un nucleo/proceador, ni uno solito mas, el S.O. no puede poner en ejecucion UN hilo en varios procesadores/nucleos a la misma vez por obvias razones.




Código (c++) [Seleccionar]
#include <windows.h>
#include <cstdio>

DWORD WINAPI WasteThread(LPVOID lpParam)
{
for (int x = (int)lpParam; ; x++);
}

void main()
{
for (int x = 0; x < 3; ++x)
CreateThread(NULL, 0, WasteThread, (LPVOID)x, 0, nullptr);
for (int x = 0; ; x++);
}




Con 4 hilos (el principal y los 3 creados) pasa a consumir (100 / 12 * 4) = 33% de CPU.
#84
No hay suficiente informacion como para que lo adivine pero deberias minimamente comprobar el uso de CPU y RAM en el Administrador de tareas de Windows (y el Monitor de recursos tampoco vendria mal) para detectar el cuello de botella. Si tu programa tiene un solo hilo lo mas normal es que no pueda usar mas que un procesador/nucleo del total y dudo que cambie porcentaje de uso de CPU con el tiempo.
#85
Mala mia, lo cambiaste y ahora si el primer parametro es el destino y el segundo la fuente, el bug del print sigue ahi, escribe el 0 terminador.
#86
ASM / Re: Variables macros de NASM
21 Octubre 2021, 00:13 AM
Si bueno, con tantas versiones es imposible no perderse, en el codigo que yo cite msg2 era irrelevante.
#87
Bueno, ahora deberias hacer que el codigo manejara las excepciones en lugar de fallar.
#88
Efectivamente eso no es un error al compilar/enlazar, es un error en timpo de ejecucion. Hay algun tipo que no coincide entre lo que retorna la DB y la variable donde queres guardarlo.

https://docs.microsoft.com/en-us/dotnet/api/system.invalidcastexception?view=net-5.0

Revisa el codigo y la DB, nota que Clave y Usuario te estan funcionando asi que debe haber alguna diferencia.
#89
Bien, ahora tiene logica la copia pero sigue teniendo exactamente el mismo bug que en el otro hilo al escribir con print y es opuesto al standard de C el strcpy.
#90
Si buscas upload image en Google vas a encontrar servicios donde subir una imagen que son compatibles con la funcion "Insertar Imagen" ofrecida por el foro al escribir mensajes (justo a la derecha del icono de YouTube).

Cuando lo hagas vemos, lo demas es adivinar demasiado ... error 0 da la pista de que no estamos ante un error al compilar/enlazar sino en tiempo de ejecucion pero de nuevo, solo estoy adivinando.