Articles of malloc

Segfaults en malloc () y malloc_consolidate ()

Mi aplicación segfaults a veces y principalmente en malloc () y malloc_consolidate () cuando miro la traza inversa en gdb. Comprobé que la máquina tiene suficiente memoria disponible, ni siquiera comenzó a intercambiarse. Comprobé los ulimits para la segmentación de datos y el tamaño máximo de la memoria, y ambos están configurados en ‘ilimitado’. También […]

Comportamiento de malloc con delete en C ++

int *p=(int * )malloc(sizeof(int)); delete p; Cuando asignamos memoria usando malloc, debemos liberarla usando free y cuando asignamos usar new en C ++ entonces debemos liberarlo usando delete. Pero si asignamos memoria usando malloc y luego usamos eliminar, entonces debería haber algún error. Pero en el código anterior no aparece ningún error o advertencia en […]

¿Qué tan grande puede ser un malloc en C?

Tengo un malloc en C que es 26901 ^ 2 * sizeof (doble) Esto me hizo pensar ¿cuál es el mayor valor aquí? Además, ¿tendría algún problema para definir una macro para acceder a esta matriz 2D? #define DN(i,j) ((int)i * ny + (int)j) Porque parece que esto no funciona para mí, o al menos […]

¿Debo verificar si malloc () fue exitoso?

¿Debería uno verificar después de cada malloc () si fue exitoso? ¿Es posible que un malloc () falle? ¿Qué pasa entonces? En la escuela nos dijeron que deberíamos verificar, es decir: arr = (int) malloc(sizeof(int)*x*y); if(arr==NULL){ printf(“Error. Allocation was unsuccessful. \n”); return 1; } ¿Cuál es la práctica con respecto a esto? ¿Puedo hacerlo de […]

malloc: *** error: sum de comprobación incorrecta para objeto liberado – objeto probablemente fue modificado después de ser liberado

Tengo un gran problema con mi aplicación de iOS: se cuelga a veces sin un error de depuración detallado. El seguimiento de la stack está vacío. Estas son las dos únicas líneas en el rastro de la stack: crash start en UIApplicationMain en “stub de símbolo para: – [_ UIHostedTextServiceSession dismissTextServiceAnimated:]”. e informe “libsystem_c.dylib`malloc_error_break”. en […]

¿Por qué lanzamos el valor de retorno de malloc?

¿Podría alguien explicarme por qué algunos progtwigdores usan (char *) delante del malloc? Sé que vuelve vacío, pero ¿por qué quiero que vuelva solo la memoria char? Lo siento, solo soy un novato en progtwigción. Gracias

malloc implementación?

Estoy intentando implementar malloc y free C, y no estoy seguro de cómo reutilizar la memoria. Actualmente tengo una struct que se ve así: typedef struct _mem_dictionary { void *addr; size_t size; int freed; } mem_dictionary; Mi malloc ve así: void *malloc(size_t size) { void *return_ptr = sbrk(size); if (dictionary == NULL) dictionary = sbrk(1024 […]

Asignadores de memoria multiproceso para C / C ++

Actualmente tengo una aplicación de servidor con varios subprocesos y busco un buen asignador de memoria de múltiples subprocesos. Hasta ahora estoy dividido entre: El umem de Sun Tcmalloc de Google Asignador de bloques de construcción de roscado de Intel El tesoro de Emery Berger Por lo que he descubierto, el tesoro podría ser el […]

Explicar esta implementación de malloc del libro de K & R

Este es un extracto del libro sobre C de Kernighan y Ritchie . Muestra cómo implementar una versión de malloc . Aunque bien comentado, estoy teniendo grandes dificultades para entenderlo. ¿Alguien puede explicarlo? typedef long Align; /* for alignment to long boundary */ union header { /* block header */ struct { union header *ptr; […]

¿Debería liberar memoria antes de salir?

¿Debo liberar toda mi memoria mal ubicada cuando estoy saliendo del progtwig debido al error? something = (char**) malloc (x * sizeof(char*)); for (i = 0; i < x; i++) something[i] = (char*) malloc (y + 1); … if (anything == NULL) { printf("Your input is wrong!"); // should I free memory of every mallocated […]