Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Grösse des Speichers ermitteln

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.05.2005
    Beiträge
    30

    Grösse des Speichers ermitteln

    Hallo zusammen
    Ich habe folgenden Codeteil in meinem Programm:
    Code:
    size_t memsize;
    respnotfound = (struct response_url *) calloc (5000, sizeof(struct response_url)); // Speicherallokation
    memsize = _msize(respnotfound); // Länge der aktuellen Speicherallokation ermitteln
    void * new_ptr = realloc(respnotfound, memsize + sizeof(struct response_url)); // Speicher um INCRESP erhöhen
    Leider gibt es immer folgendes Kompilierproblem:
    Code:
    test.c: In function `main':
    test.c:1081: warning: implicit declaration of function `_msize'
    Gibt es auch eine andere Möglichkeit, die Grösse des aktuell alloziierten Speichers zu ermitteln oder was mache ich falsch?

  2. #2
    Registrierter Benutzer Avatar von klewan
    Registriert seit
    06.05.2005
    Ort
    Wien
    Beiträge
    99
    portierst du von windows auf linux?


    da gibts laut google die func. _msize nicht

    malloc_usable_size sollte das undocumented unportable pendant dazu sein


    lg

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.05.2005
    Beiträge
    30
    Nein, nein. Ich programmiere C auf Linux! Ich orientierte mich am Beispiel unter http://msdn.microsoft.com/library/de...rt_realloc.asp

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Vielleicht könnt ihr mich als simplen C++ Programmierer kurz aufklären:
    eine Funktion die mit _ beginnt ist ja normalerweise eine interne API und sollte tunlichst vermieden werden, oder?
    Abgesehen davon, was bringt es mir wenn ich weiß, wieviele Bytes mehr allokiert wurden als 5000 mal die struct?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer Avatar von klewan
    Registriert seit
    06.05.2005
    Ort
    Wien
    Beiträge
    99
    Zitat Zitat von pfrei
    Nein, nein. Ich programmiere C auf Linux! Ich orientierte mich am Beispiel unter http://msdn.microsoft.com/library/de...rt_realloc.asp

    sorry als ich microsoft.com im link und "ich programmiere C auf linux" gelesen hab
    musst ich aufhören zu lesen *fg*


    @anda_skoa
    keine ahnung, zum profiling ? naja auch egal eigentlich
    normalerweise weis man ja beim malloc() selbst schon wieviel speicher man hat
    und die paar byte overflow die die libc und der kernel nun mal dazu rechnen
    sind ja nicht wirklich informationsbedüftig *fg*

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •