preguntar acerca de malloc

2
réponses

Comment malloc travailler dans un environnement multithread?

Est-ce que le malloc typique (pour la plate-forme X86-64 et le système D'exploitation Linux) verrouille naïvement un mutex au début et le libère une fois terminé, ou verrouille-t-il un mutex d'une manière plus intelligente à un niveau plus fin, de so …
demandé sur 1970-01-01 00:33:32
3
réponses

Tableau dynamique en C — ma compréhension de malloc et realloc est-elle correcte?

J'apprends à créer des tableaux 1D dynamiques en C. Le code ci-dessous essaie de faire ce qui suit: en utilisant malloc, Créez un tableau dynamique de longueur 10, contenant des valeurs de type double. définissez chaque entrée du tableau sur j/1 …
demandé sur 1970-01-01 00:33:32
2
réponses

Un malloc() est-il nécessaire avant un realloc()?

Puisque j'avais lu realloc agira comme malloc si la taille pointée est 0, Je l'utilisais sans malloc(), à condition que le pointeur soit statique, global ou explicitement défini sur NULL si automatique. Cependant, je remarque que beaucoup de program …
demandé sur 1970-01-01 00:33:30
2
réponses

Une alternative à la fonctionnalité obsolète malloc hook de glibc

J'écris un profileur de mémoire pour C et pour cela j'intercepte les appels au malloc, realloc et free fonctions via malloc_hooks. Malheureusement, ceux-ci sont obsolètes en raison de leur mauvais comportement dans les environnements multi-threads. J …
demandé sur 1970-01-01 00:33:33
6
réponses

L’utilisation de’ sizeof(char) ‘lors de L’allocation dynamique d’un’ char ‘ est-elle redondante?

lors de la répartition dynamique chars, j'ai toujours fait comme ceci: char *pCh = malloc(NUM_CHARS * sizeof(char)); on m'a dit récemment, cependant, qu'en utilisant sizeof(char) est redondant et inutile, car, "par définition, de la taille d'un c …
demandé sur 1970-01-01 00:33:33
7
réponses

mémoire maximale que malloc peut allouer

j'essayais de comprendre combien de mémoire je peux malloc à l'étendue maximale sur ma machine (1 Go de RAM 160 Go de plate-forme Windows HD). j'ai lu que la mémoire maximale que malloc peut allouer est limitée à la mémoire physique (sur tas …
demandé sur 1970-01-01 00:33:30
14
réponses

Ne malloc() alloue un bloc contigu de mémoire?

j'ai un morceau de code écrit par un programmeur de très vieille école :-) . il va quelque chose comme ça typedef struct ts_request { ts_request_buffer_header_def header; char package[1]; } ts_request_def; ts_r …
demandé sur 1970-01-01 00:33:29
4
réponses

Git clone échoue avec une erreur de mémoire insuffisante — «fatal: de mémoire, malloc a échoué (tried to allocate 905574791 octets) / fatal: index-pack a échoué»

j'essaie de cloner un grand dépôt Git (1,4 Go) dans une VM Debian 32 bits avec 384 Mo de RAM. J'utilise git 1.7.2.5, et le protocole SSH pour cloner ('git clone user@host.com:/my/repo') le clone échoue avec ce message: remote: Countin …
demandé sur 1970-01-01 00:33:31
23
réponses

Paramètre variable à NULL après free

dans mon entreprise il y a une règle de codage qui dit, Après avoir libéré toute mémoire, réinitialiser la variable à NULL. Exemple. .. void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; retur …
demandé sur 1970-01-01 00:33:29
26
réponses

Est-ce que je lance le résultat de malloc?

Dans cette question , quelqu'un a suggéré dans un commentaire ce que je dois pas cast le résultat de malloc , c'est à dire int *sieve = malloc(sizeof(int) * length); plutôt que: int *sieve = (int *) mal …
demandé sur 1970-01-01 00:33:29