Questions sur malloc

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ésul ... plutôt que: int *sieve = (int *) malloc(sizeof(int) * length); pourquoi cela serait-il le cas?
demandé sur 2009-03-03 13:13:02
18
réponses

Différence entre malloc et calloc?

Quelle est la différence entre faire: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); ou: pt ... oc (MAXELEMS, sizeof(char*)); quand est-ce une bonne idée d'utiliser calloc plutôt que malloc ou vice versa?
demandé sur 2009-10-08 19:04:33
17
réponses

Que se passe-t-il quand on ne se libère pas après malloc?

C'est quelque chose qui me dérange depuis des lustres. nous sommes tous enseignés à l'école (du moins, je l'é ... émoire qui est alloué mais seulement libéré dans le cadre de la fin du processus? Si oui, quelle est l'alternative?
demandé sur 2009-03-17 18:29:09
18
réponses

Dans quels cas dois-je utiliser malloc vs nouvelle?

je vois dans C++ qu'il y a plusieurs façons d'allouer et de libérer des données et je comprends que lorsque vous appele ... us êtes un expert en C++, veuillez me faire part de toute règle empirique ou convention que vous suivez à cet égard.
demandé sur 2008-10-08 23:47:55
24
réponses

Pourquoi l'utilisation d'alloca () n'est-elle pas considérée comme une bonne pratique?

alloca() attribue la mémoire de la pile plutôt que le tas ce qui est le cas dans malloc() . Donc, quand je reviens ... problèmes de mémoire. Pourquoi l'utilisation de alloca() découragé malgré les caractéristiques ci-dessus?
demandé sur 2009-06-19 20:24:16
3
réponses

Pourquoi malloc+memset est plus lent que calloc?

on sait que calloc est différent de malloc en ce qu'il initialise la mémoire allouée. Avec calloc , la mémoire est ré ... ma question Est: pourquoi malloc + memset est-il tellement plus lent que calloc ? Comment puis calloc ?
demandé sur 2010-04-22 09:40:25
1
réponses

Pourquoi le livre dit que je dois lancer malloc?

Aujourd'hui j'ai atteint la page 167 de le langage de programmation C (deuxième édition Brian W. Kernighan & ... lications pourquoi ne pas jeter malloc . Mais ma question est: Pourquoi le livre, je devrais le jeter?
demandé sur 2015-09-18 15:36:32
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 à ... e tels cas, je vais m'adresser à l '"équipe qualité" pour supprimer cette règle de codage. S'il vous plaît conseils.
demandé sur 2009-06-22 09:35:16
6
réponses

Qu'est ce qu'un Segment de Mémoire?

Qu'est-ce qu'un tas de souvenirs ?
demandé sur 2010-02-22 07:15:11
8
réponses

Malloc vs nouveau-rembourrage différent

j'examine le code C++ de quelqu'un d'autre pour notre projet qui utilise MPI pour le calcul haute performance (10^5-10 ... réponse avec Google ou dans une question précédente. Aidez-moi, StackOverflow, vous êtes mon seul espoir!
demandé sur 2012-11-08 14:01:56
16
réponses

Quel est l'intérêt de malloc (0)?

vient de voir ce code: artist = (char *) malloc(0); et je me demandais pourquoi on ferait ça?
demandé sur 2010-01-07 20:43:14
3
réponses

Comment malloc() est-il mis en œuvre à l'interne? [dupliquer]

cette question a déjà une réponse ici: comment fonctionnent malloc() et free ()? ... eaucoup d'appels système sbrk , faisant man sbrk parle de son utilisation dans malloc() mais pas beaucoup plus.
demandé sur 2010-08-13 21:35:29
12
réponses

Pourquoi " free` en C ne prend-il pas le nombre d'octets à libérer?

juste pour être clair: Je ne sais pas que malloc et free sont mis en œuvre dans la bibliothèque C, qui alloue habituel ... t simplement être UB ou implémentation définie. Je ne veux pas décourager les discussions sur d'autres possibilités.
demandé sur 2014-06-13 15:10:25
13
réponses

Comment trouver la cause d'une erreur "double free" de malloc?

Je programme une application dans Objective-C et j'obtiens cette erreur: MyApp(2121,0xb0185000) malloc ... fois. comment régler son point d'arrêt? y a-t-il un moyen de savoir ce qu'est cet"objet 0x1068310"?
demandé sur 2009-06-09 20:49:50
9
réponses

Pourquoi malloc initialise les valeurs à 0 dans gcc?

peut-être est-ce différent d'une plate-forme à l'autre, mais quand je compileà l'aide de gcc et exécute le co ... g! (Jamais pensé à ça). Bien sûr, il doit initialiser à zéro lors de l'attribution de nouveau bloc, ou le gros bloc.
demandé sur 2011-11-06 23:05:59
11
réponses

Est malloc thread-safe?

la fonction malloc() est-elle de retour?
demandé sur 2009-05-13 06:17:42
6
réponses

Malloc crée-t-il paresseusement les pages de support pour une allocation sur Linux (et d'autres plateformes)?

sous Linux si je devais malloc(1024 * 1024 * 1024) , que fait malloc? je suis sûr qu'il assigne une adresse ... est muet sur ce genre de détails, mais je serais intéressé de savoir ce que les autres plates-formes font aussi.)
demandé sur 2009-05-26 21:40:49
6
réponses

En C, Comment est-ce que je choisirais de retourner une struct ou un pointeur sur une struct?

travailler sur mon muscle C dernièrement et en regardant à travers les nombreuses bibliothèques, j'ai travaillé avec s ... ux options? de plus, comment cette option se compare-t-elle? void make_something(something_t *object)
demandé sur 2016-10-21 05:45:52
10
réponses

que renvoie malloc (0)? [dupliquer]

cette question a déjà une réponse ici: Quel est l'intérêt de malloc(0)? ... rintf("Failed for iteration %d\n", i); break; } } return 0; }
demandé sur 2010-01-25 15:47:03
11
réponses

C conception de L'API: qui devrait allouer?

Quelle est la meilleure façon d'allouer de la mémoire dans une API C? je peux voir, au début, deux options: ... penche actuellement pour le premier cas; puis, encore une fois, je ne sais pas à propos de la conception de L'API C.
demandé sur 2010-07-21 08:23:21
3
réponses

Y a-t-il un moyen de marquer un morceau de mémoire allouée en lecture seule?

si j'alloue un peu de mémoire en utilisant malloc() est-il un moyen de le marquer en lecture seule. Donc memcpy () éch ... n retour. Bien que dans le cas de sqlite, cela n'aura pas de sens, mais c'est un peu ce qui se passe dans notre cas.
demandé sur 2013-02-18 11:39:08
3
réponses

Pourquoi la vitesse de memcpy () chute-t-elle de façon spectaculaire toutes les 4KB?

j'ai testé la vitesse de memcpy() en remarquant la chute de vitesse à i*4KB. Le résultat est le suivant: l'axe Y est l ... f de 2kb entre pbuff_1 et pbuff_2 . Ça marche, mais je ne suis pas sûr de L'explication de Leeor.
demandé sur 2014-01-10 12:03:15
2
réponses

Comment malloc travailler dans un environnement multithread?

est-ce que le type malloc (pour Plate-forme x86-64 et OS Linux) bloque naïvement un mutex au début et le libère lors ... n, de sorte que la contention du lock est réduite? S'il le fait vraiment de la deuxième manière, comment le fait-il?
demandé sur 2012-05-22 20:50:08
4
réponses

Est-il bien défini d'utiliser un pointeur pointant vers un malloc passé?

en C, il est tout à fait juste de faire un pointeur qui pointe vers le dernier élément d'un tableau et de l'utiliser e ... sert(a != NULL, "Memory allocation failed"); // Question: int *p = a+5; int diff = p-a; // Use in pointer arithmetic?
demandé sur 2017-12-20 10:03:28
7
réponses

malloc de taille zéro [duplicata]

cette question a déjà une réponse ici: Quel est l'intérêt de malloc(0)? ... la valeur retournée par malloc. La question porte sur la combinaison malloc(0) + free, et non sur la valeur de ptr.
demandé sur 2009-07-02 12:27:40
9
réponses

Si free() connaît la longueur de mon tableau, pourquoi ne puis-je pas demander à mon propre code?

je sais que c'est une convention courante de passer la longueur des tableaux dynamiquement alloués à des fonctions qui ... pas entrer dans la magie, en tant que programmeur C? où free() obtenir son gratuit (har-har) le savoir de?
demandé sur 2010-04-16 09:49:03
12
réponses

Goulot D'Étranglement De L'Attribution De La Mémoire Et De La Désallocation?

Combien d'un goulot d'étranglement est allocation/libération de mémoire dans typique du monde réel les programmes? Le ... airement. Edit: Même si je mentionne malloc, cette question est pas destiné à être C/C++ spécifiques.
demandé sur 2009-01-22 23:32:06
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 ... essus de comportement? pourquoi boucle ne s'est-elle pas rompue? pourquoi n'y a-t-il pas eu d'échec?
demandé sur 2010-05-09 20:31:46
5
réponses

C: libérer correctement la mémoire d'un tableau multidimensionnel

dites que vous avez le code ANSI C suivant qui initialise un tableau multi-dimensionnel: int main() { int ... void freeArray(int **a, int m) { int i; for (i = 0; i < m; ++i) { free(a[i]); } free(a); }
demandé sur 2009-11-14 13:15:30
11
réponses

malloc et placement nouveau par rapport à nouveau

je me suis penché sur la question ces derniers jours, et jusqu'à présent je n'ai rien trouvé d'autre convaincant que d ... oses qui n'ont pas de constructeur par défaut, sans paramètre, alors que la méthode malloc peut donc être utilisée.
demandé sur 2012-01-22 11:16:00