Tag: malloc

Die malloc-Funktion führt die dynamische Speicherverwaltung in C und ist Teil der standard-Bibliothek. Verwenden Sie dieses tag für Fragen über die Nutzung, das Verhalten und die Implementierungen von malloc.

malloc + Automatic Reference Counting?

Anzahl der Antworten 4 Antworten
Wenn ich mit malloc zusammen mit der Automatischen Referenz-Zählung, muss ich dann trotzdem noch manuell den Speicher frei? int a[100]; int *b = malloc(sizeof(int) * 100); free(b); InformationsquelleAutor Stas Jaro | 2012-05-07

Malloc vs custom allocator: Malloc hat eine Menge Aufwand. Warum?

Anzahl der Antworten 3 Antworten
Habe ich ein Bild-Kompressions-Anwendung, die hat jetzt zwei verschiedene Versionen von memory allocation systems. In das original ein, malloc ist überall, und die zweite, ich implementiert eine einfache pool-allocator, dass nur reserviert Speicherblock und gibt Teile der,

newbie Fragen zu malloc und sizeof

Anzahl der Antworten 8 Antworten
Kann mir jemand erklären, warum mein Aufruf von malloc mit einem string-in Größe 6 gibt eine sizeof von 4 Byte? In der Tat, jedes integer-argument gebe ich malloc bekomme ich eine sizeof von 4. Nächsten, ich bin

Beispiel Programm, um die malloc-Fehler konsolidieren

Anzahl der Antworten 4 Antworten
Ich testen wollen, die mcheck-Funktionalität auf meinem PC zuerst zu erkennen, die malloc konsolidieren Fehler. Ich habe auf diese Weise werden Sie sicher, dass dies helfen wird, herauszufinden, einen ähnlichen Absturz auf embedded-linux-box. Leider, der Absturz dauert

Wie kann ich dynamisch reservieren 2D-array in ein C zuordnen

Anzahl der Antworten 3 Antworten
Können Sie mir helfen herauszufinden, wie zuordnen eines 2D-Arrays zuweisen nennen? Ich versuchte zu tun: int** arr = (int**)malloc(num * * num * sizeof(int*)); Aber seine nicht funktioniert. num ist in Zeilen und Spalten. int (*arr)[num] =

Ist die null-Zeichen enthalten, während die Zuweisung mithilfe von malloc

Anzahl der Antworten 4 Antworten
Ich habe mit C für ganz irgendwann, und ich habe dieses triviale problem, das ich Abfragen über. Sagen, ich will einen Charakter erstellen array, speichert bis zu 1000 Zeichen. Nun, wenn ich mit malloc für das gleiche

Die Zuordnung ist schneller ? malloc vs lokale Variablen

Anzahl der Antworten 7 Antworten
Was ist besser zuordnen von Speicher für eine Funktion, die Häufig allozieren und freigeben von Speicher ? Angenommen, diese Funktion wird immer aufgerufen, rund 500 bis 1000 mal pro Sekunde auf einem 1-GHz-Prozessor. (Bitte ignorieren Sie die

Sollte ich mir die Mühe erkennen OOM (out of memory) Fehler in meinem C-code?

Anzahl der Antworten 11 Antworten
Habe ich gewidmet, eine große Anzahl von Zeilen C-code cleanup-Etiketten/Bedingungen für fehlgeschlagene memory allocation (angedeutet durch die alloc Familie zurückkehren NULL). Ich wurde gelehrt, dass dies war eine gute übung, so dass auf die memory-Fehler, wird eine

Tut sizeof(float) immer gleich sizeof(int) auf allen Architekturen?

Anzahl der Antworten 6 Antworten
Bin ich zu sehen-code zuweisen von Speicher für Schwimmer mit sizeof(int). Ich Frage mich, ob sizeof(float) immer gleich sizeof(int) auf allen Architekturen? float *pointer2Float = (float *) USER_DEFINED_MALLOC (...,..., sizeof(int)) Hinweis: diese USER_DEFINED_MALLOC isa-wrapper für konventionelle malloc,

GCC: __attribute__((malloc))

Anzahl der Antworten 2 Antworten
Zitat aus GCC-Dokumentation (Hervorhebung von mir): Den malloc Attribut wird verwendet, um dem compiler, dass eine Funktion kann behandelt werden, als wenn jeder nicht-NULL-Zeiger gibt es nicht alle alias andere Zeiger gültig, wenn die Funktion zurückgibt und,

Heap-Speicher und Platte-Zuweisung

Anzahl der Antworten 3 Antworten
Ich bin verwirrt in Bezug auf heap und free list. Ich habe ein paar Fragen und ich habe mein eigenes Verständnis, wie malloc funktioniert in C. Bitte korrigieren Sie mich, wenn ich falsch bin. Ist der heap-Speicher

malloc in C, aber die Verwendung von multi-dimensionalen array-syntax

Anzahl der Antworten 8 Antworten
Gibt es eine Möglichkeit, malloc eine große Auswahl, aber finden Sie es mit 2D-syntax? Ich will etwas wie: int *memory = (int *)malloc(sizeof(int)*400*200); int MAGICVAR = ...; MAGICVAR[20][10] = 3; //sets the (200*20 + 10)th element UPDATE:

Malloc oder normale array-definition?

Anzahl der Antworten 4 Antworten
Wann werde ich dann benutzen Sie malloc-anstelle der normalen array-definition in C? Kann ich nicht verstehen den Unterschied zwischen: int a[3]={1,2,3} int array[sizeof(a)/sizeof(int)] und: array=(int *)malloc(sizeof(int)*sizeof(a)); InformationsquelleAutor Antonio Ciccia | 2012-06-28

mmap-Ersatz für malloc

Anzahl der Antworten 2 Antworten
Muss ich einen Weg finden, um mmap anstelle von malloc. Wie ist das möglich? (Ich bin nicht mit der libc nur syscalls) Und ja brk() ist möglich. Ich verwendet, sbrk (), aber erkannte seine nicht, sys-call... (x86

glibc detected ./.ein.aus: free(): invalid pointer

Anzahl der Antworten 3 Antworten
typedef struct _PERSON { size_t age; unsigned char* name; }PERSON; int init(PERSON** person) { (* person) = (PERSON *) malloc(sizeof(struct _PERSON)); (* person)->age = 1; (* person)->name = (unsigned char *) malloc(sizeof(4)); (* person)->name = "NAME"; return

free () - Funktion ohne malloc oder calloc

Anzahl der Antworten 5 Antworten
kurze Frage Können mit der free () - Funktion ohne vorherigen Aufruf ein malloc ?? ei. void someFunc( void ) { char str[6] = {"Hello"}; //some processing here .... free(str); } Bekomme ich kein kompilieren Fehler, aber

Segmentation fault, wenn malloc/free, erscheinen in einer Schleife in C

Anzahl der Antworten 7 Antworten
Ich habe ein Programm, das im Grunde aussieht: typedef struct cpl_def { int A; int B; int OK; struct cpls *link; }cpls; int main(void) { int n1, n2; int num = 300; /* say */ int *a;

Sequenz-Stapel: nicht-initialisierten Wert wurde von einem heap

Anzahl der Antworten 2 Antworten
Einfach jetzt schrieb ich eine einfache Daten-Struktur Sequenz Stack in c, und begegnete einem problem. ==8142== Use of uninitialised value of size 4 ==8142== at 0x408F4AB: _itoa_word (_itoa.c:195) ==8142== by 0x40935EA: vfprintf (vfprintf.c:1629) ==8142== by 0x4099EFE: printf

Probleme freigeben von Speicher mit free()

Anzahl der Antworten 2 Antworten
Ich habe Probleme beim freigeben von Speicher, der ich zugeteilt mit malloc. Das Programm läuft gut, bis er den Teil, wo es soll Speicher freigeben mit free. Hier das Programm friert ein. So Frage ich mich, was

einfache c-malloc

Anzahl der Antworten 7 Antworten
Während es gibt viele verschiedene anspruchsvolle Implementierungen von malloc /free für C/C++, ich bin auf der Suche nach einem wirklich einfachen und (vor allem) klein ist, dass ein Werk auf einer fixed-size-buffer und unterstützt realloc. Thread-Sicherheit etc.

realloc ungültige alte Größe

Anzahl der Antworten 2 Antworten
Disclaimer: Dies ist eine Hausaufgabe. Ich bin versucht es und nicht erwarten oder wollen, dass jemand es für mich tun. Nur ein paar Hinweise (hehe) wo ich bin, die falsch gehen würde geschätzt. Den Hausaufgaben verlangt von

Warum brauchen wir was casten was malloc zurückgibt?

Anzahl der Antworten 7 Antworten
int length = strlen(src); char *structSpace = malloc(sizeof(String) + length + 1); String *string = (String*) structSpace; int *string = (int*) structSpace; *Erstellte ich ein struct namens String C und C++ sind zwei verschiedene Sprachen, das sieht

So aktualisieren Sie weitere Hinweise, wenn realloc bewegt sich der Speicher-block?

Anzahl der Antworten 5 Antworten
Die realloc-Referenz sagt: Kann die Funktion den Speicherblock verschieben an eine neue Position, in welchem Fall die neue Position wird zurückgegeben. Bedeutet es, dass wenn ich dies tun: void foo() { void* ptr = malloc( 1024 );

Heap-block modifiziert vergangenen angeforderte Größe von 2 Fehler in C

Anzahl der Antworten 2 Antworten
Also der folgende code verursacht einen Fehler: //free pointers created with malloc for (int i = 0; i < 3; i++) { if (rt_offset_rs[i] != NULL ) { free(rt_offset_rs[i]); //<== AT THiS LINE } FEHLER: Heap-block zu

Malloc und structs in C sind mir Fehler (nach einem tutorial)?

Anzahl der Antworten 2 Antworten
So, ich bin nach einem tutorial auf C-und ich bin stecken in Strukturen, da Sie die Verwendung der malloc-Funktion und diese Funktion scheint nicht gut zu gehen mit meinem compiler (Visual Studio C++ 10.0). Also folgte ich

nicht exit() freier Speicher zugewiesen, auf beiden _SUCCESS und _FAILURE

Anzahl der Antworten 4 Antworten
Dazu ein kurzes code-snippet, mit zwei Aufrufe exit(3) im Falle des Scheiterns. Diese Anrufe freigeben Speicher von malloc? Die Google-Suche einmal sagt, es tut, und noch mal, es ist nicht... Sollte ich das free()? Außerdem: was ist

malloc + fgets dynamische Zuordnung

Anzahl der Antworten 2 Antworten
Dies ist mein code: int main(int argc, char *argv){ FILE *fp; char *tmp, *tmp2, *user, *pass, *line; printf("Inserire utente: "); scanf("%ms", &user); /* scanf %ms alloca dinamicamente la memoria */ printf("Inserire password: "); scanf("%ms", &pass); line =

Warum bekomme ich eine double-free-Fehler mit realloc()?

Anzahl der Antworten 8 Antworten
Ich habe versucht, zu schreiben, die ein string-replace-Funktion in C, die auf eine char *, die zugewiesen wurde, wurde mit malloc(). Es ist ein wenig anders, dass Sie es finden und ersetzen von Zeichenfolgen, sondern als Zeichen

Ich will meinen eigenen Malloc

Anzahl der Antworten 3 Antworten
Möchte ich meinen eigenen malloc/free, so kann ich eine genaue Zuweisung kopieren. Irgendwelche gurus irgendwelche Tipps und Anregungen? Habe ich ein paar Fragen für heute: Sollte ich einfach malloc große Brocken von Speicher, und dann verteilen Sie

was passiert, wenn wir rufen Malloc mit negativen parameter?

Anzahl der Antworten 2 Antworten
7.22.3.4 Die malloc-Funktion Der malloc-Funktion reserviert Speicherplatz für ein Objekt, dessen Größe angegeben ist, die durch Größe und deren Wert ist unbestimmt ist. Prototyp: void *malloc(size_t size); Ich habe versucht, die übergabe eines negativen Werts als parameter:

C - Design your own free () - Funktion

Anzahl der Antworten 8 Antworten
Heute, ich schien für ein interview und der interviewer fragte mich, Sagen Sie mir die Schritte, wie Sie entwerfen Sie Ihre eigenen free( ) Funktion für freigeben des allokierten Speichers. Wie kann es effizienter sein, als der

memory allocation limit für 32-bit-Anwendung auf einem 64-bit system

Anzahl der Antworten 2 Antworten
Ist der max-Begrenzung für malloc (virtuellen heap denke ich mal?) für eine 32-bit-Anwendung auf einem 64-bit-system (Windows 2003 SP2 x64 um genau zu sein) 2GB? Ich bin im Grunde versucht, ein Programm darüber hinaus mit kein Glück.

warum hat malloc(sizeof(Zeiger)) arbeiten?

Anzahl der Antworten 4 Antworten
Dieser folgende code funktioniert einwandfrei: #include <stdio.h> #include <stdlib.h> int main() { struct node{ int a, b, c, d, e; }; struct node *ptr = NULL; printf("Size of pointer ptr is %lu bytes\n",sizeof (ptr)); printf("Size of struct

Welche Garantien gibt malloc machen, über das Gedächtnis Ausrichtung?

Anzahl der Antworten 3 Antworten
Stieß ich auf folgenden code: int main() { char *A=(char *)malloc(20); char *B=(char *)malloc(10); char *C=(char *)malloc(10); printf("\n%d",A); printf("\t%d",B); printf("\t%d\n",C); return 0; } //output-- 152928264 152928288 152928304 Möchte ich wissen, wie die Verteilung und die Polsterung erfolgt

Reservieren 2D char array mit malloc oder calloc

Anzahl der Antworten 2 Antworten
Ich habe vor kurzem beschlossen, zu putzen, bis mein C-wissen (was wenig ich habe). Ich habe ziemlich schnell gemerkt, dass die ersten skill zu gehen, bewölkt war memory management. Verdammt. Habe ich beschlossen, dass das beste, was

Zeiger auf ein array von Zeigern auf Verlinkten Listen

Anzahl der Antworten 5 Antworten
hey Leute Recht so habe ich bei diesem problem für die letzten 6 Stunden und wurden schlagen google wie verrückt ohne Erfolg. Rechts muss ich einen Zeiger auf ein array. Dieses array enthält Zeiger auf verketteten Listen.

sYSMALLOc: Assertion-Fehler - irgendwelche Ideen, wie zum Debuggen effektiv?

Anzahl der Antworten 2 Antworten
Meine server-daemon funktioniert gut auf den meisten Maschinen aber auf eines bin ich immer: malloc.c:3074: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) ||

wie Sie richtig kostenlos ein char **in Tabelle C

Anzahl der Antworten 3 Antworten
Ich brauche deinen Rat auf diesem Stück code: die Tabelle Felder, Optionen[0], options[1] etc... scheint nicht korrekt freigegeben wurden. Vielen Dank für Eure Antworten int main() { .... char **options; options = generate_fields(user_input); for(i = 0; i

Lesen Teil einer Datei in C unter Verwendung von fread() und fseek()

Anzahl der Antworten 4 Antworten
Ich versuche zu Lesen, eine Datei in einen Puffer in Blöcken von der Größe BLOCK_SIZE (derzeit gleich 1000 unsigned chars). Mein code zunächst fest, die Anzahl der Blöcke wird es haben, um zu Lesen, um die gesamte

Malloc segmentation fault

Anzahl der Antworten 2 Antworten
Hier ist das Stück code in dem "segmentation fault" Auftritt (perror wird nicht genannt): job = malloc(sizeof(task_t)); if(job == NULL) perror("malloc"); Um genauer zu sein, gdb sagt, dass die segfault geschieht innerhalb eines __int_malloc - call, das

Wie schlimm es ist, zu halten, ruft malloc() und free()?

Anzahl der Antworten 7 Antworten
Ich bin das senden einer text-Datei - client-server Trennung der text in Pakete, die jeweils 512 bytes aber einige Pakete, die text enthalten weniger als max Größe, damit auf der Server-Seite beim Empfang jedes Paket, ich bin

malloc - ungültige Konvertierung von void* zu verdoppeln*

Anzahl der Antworten 2 Antworten
Ich möchte eine Funktion schreiben, die erstellt eine Kopie von einem double-array mit Zeigern. Das ist mein code bisher: #include <stdio.h> #include <stdlib.h> double* copy (double *array, int size) { double *v=malloc(sizeof(double)*size); for (int i=0; i<size; i++)

Malloc-Fehler: falsche Prüfsumme für befreite Objekt

Anzahl der Antworten 6 Antworten
Arbeite ich an der Implementierung Schwanz für eine Zuordnung. Habe ich es richtig funktioniert aber ich scheine immer einen Fehler aus frei zu zufälligen Zeiten. Kann ich nicht sehen, es aufspüren, um ein Muster oder etwas anderes,

Senden Sie die binäre Datei über TCP/IP-Verbindung

Anzahl der Antworten 2 Antworten
Werde ich umformulieren, die ganze Frage hier, so dass es zu vertreten hat. Ich bin in der Lage zu kopieren Binärdatei perfekt in der gleichen Maschine nicht über sockets, sondern nur eine einfache Kopie-Funktion. Zu versuchen, diesen

segmentation fault bei der Verwendung von memcpy

Anzahl der Antworten 4 Antworten
Ich habe eine grundlegende Frage zu memcpy(): Habe ich eine Struktur, die paar arrays wie seine Mitglieder. Ich wollte kopieren Sie die Daten in der Struktur, in a buffer memory (zugewiesen durch malloc()) Sehe ich einen segmentation

Valgrind Ungültige free() / delete / delete[] / realloc() in C

Anzahl der Antworten 2 Antworten
Valgrind sagt mir, dass es ein Leck in einem Speicher, ich habe versucht, free (), aber ich nehme an, dass es nicht richtig gemacht. Irgendwelche Ideen? Danke. Ungültige free() /delete /delete /realloc() bei 0x4C27D4E: kostenlos (vg_replace_malloc.c:427) durch

Hinzufügen null-terminator an char-Zeiger ist, bei der Verwendung von strcpy

Anzahl der Antworten 6 Antworten
Ich habe ein Programm, das versucht, die strcpy() Funktion. Ich weiß, dass, wenn man benutzt ein char-array wie: char array[10] null-terminator kann eingestellt werden durch: array[0] = '\0'; Allerdings, wie würde ich mich über die Einstellung der

Warum hat malloc reservieren Sie eine andere Anzahl von bytes als angefordert?

Anzahl der Antworten 12 Antworten
Ich habe dieses Stück code #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> int main(){ void *a, *b; a = malloc(16); b = malloc(16); printf("\n block size (for a): %p-%p : %li", b, a, b-a); a =

Umfang der malloc verwendet, die in einer Funktion

Anzahl der Antworten 6 Antworten
Wenn eine Funktion zurück, ist der Speicher via malloc befreit? Oder kann es immer noch zugegriffen werden, die in der main () - Funktion mit Zeigern? zB. void function(int *a) { a=(int *)malloc(sizeof(int)); *a=10; } int main()

Malloc-Funktion (dynamic memory allocation), die sich in einen Fehler, wenn es verwendet wird, weltweit

Anzahl der Antworten 3 Antworten
#include<stdio.h> #include<string.h> char *y; y=(char *)malloc(40); //gives an error here int main() { strcpy(y,"hello world"); } error: conflicting types for 'y' error: previous declaration of 'y' was here warning: initialization makes integer from pointer without a cast