Hallo meine malloc.h lässt sich nicht compilieren.......



  • Hallo @ all

    ich hoffe mir kann jemand weiterhelfen ich versuche mit meinem c++ Builder
    die malloc.h einzubinden leider bringt er mir dabei Fehlermeldungen.
    Ich hoffe mir kann jemand dabei helfen. 😕

    hier die Malloc.h

    #ifndef __MALLOC_H
    #define __MALLOC_H
    #define _INC_MALLOC /* MSC Guard name */

    #include <alloc.h>

    #ifdef __cplusplus
    extern "C" {
    #endif

    #if !defined(RC_INVOKED)

    #if defined(__STDC__)
    #pragma warn -nak
    #endif

    #endif /* !RC_INVOKED */

    #if !defined(RC_INVOKED)
    #pragma pack(push, 1)
    #endif

    /* _HEAPINFO structure returned by heapwalk */

    typedef struct _heapinfo
    {
    int *_pentry;
    int *__pentry;
    _SIZE_T _size;
    int _useflag;
    } _HEAPINFO;

    #if !defined(RC_INVOKED)
    /* restore default packing */
    #pragma pack(pop)
    #endif

    /* Prototypes */

    void * __cdecl _EXPFUNC alloca( _SIZE_T size );
    void * __cdecl __alloca
    (_SIZE_T __size);

    #if (__CGVER__ >= 0x200)
    # define alloca(__size) __alloca__(__size)
    # define _alloca(__size) __alloca__(__size) /* MSC compatible version /
    #else
    # define _alloca alloca /
    MSC compatible version */
    #endif

    _SIZE_T _RTLENTRY _EXPFUNC stackavail (void);
    int _RTLENTRY _EXPFUNC _heapadd (void * __block, _SIZE_T __size);
    int _RTLENTRY _EXPFUNC _heapchk (void);
    int _RTLENTRY _EXPFUNC _heapmin (void);
    int _RTLENTRY _EXPFUNC _heapset (unsigned int __fill);
    int _RTLENTRY _EXPFUNC _heapwalk (_HEAPINFO *__entry);
    int _RTLENTRY _EXPFUNC _rtl_heapwalk (_HEAPINFO *__entry);
    void * _RTLENTRY _EXPFUNC _expand (void * __block, _SIZE_T __size);
    _SIZE_T _RTLENTRY _EXPFUNC _msize (void * __block );

    //#ifdef __cplusplus
    }
    //#endif

    /* Obsolete functions */
    #if !defined(RC_INVOKED)
    #pragma obsolete _heapwalk
    #endif

    #if !defined(RC_INVOKED)

    #if defined(__STDC__)
    #pragma warn .nak
    #endif

    #endif /* !RC_INVOKED */

    #endif /* __MALLOC_H */

    und die Fehlermeldungen dazu:

    [C++ Fehler] malloc.h(51): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(51): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
    [C++ Fehler] malloc.h(63): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(63): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(63): E2293 ) erwartet
    [C++ Fehler] malloc.h(64): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(64): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(64): E2293 ) erwartet
    [C++ Fehler] malloc.h(73): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(73): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
    [C++ Fehler] malloc.h(74): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(74): E2188 Ausdruckssyntax
    [C++ Fehler] malloc.h(74): E2293 ) erwartet
    [C++ Fehler] malloc.h(80): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(80): E2188 Ausdruckssyntax
    [C++ Fehler] malloc.h(80): E2293 ) erwartet
    [C++ Fehler] malloc.h(81): E2316 'size_t' ist kein Element von 'std'
    [C++ Fehler] malloc.h(81): E2040 Deklaration nicht ordnungsgemäß abgeschlossen

    Bitte helft mir ich weiß echt nicht mehr weiter

    MFG Toby



  • Darf ich fragen, warum du ne Bibliotheksdatei kompilieren willst? Ich meine, ich bin ein nap, aber mich interessiert es nur mal so am Rande.



  • Die h files sind zum Teil dazu da auf Bibliotheken (endung lib) zuzugreifen
    und die werden automatisch mit compiliert....



  • Das Problem liegt mit einiger Sicherheit nicht in der malloc.h sondern höchstwahrscheinlich an einem Konflikt zu anderen in deinem Projekt eingebundenen Headern. Mitunter hilft es schon, die Reihenfolge zu ändern, also z.B. die malloc.h als allerersten oder -letzten Header einzubinden.

    Oder in deinem Code ist irgendwo ein Tippfehler oder es fehlt ein Semikolon oder eine Klammer etc.



  • Hm Jansen du hast mich auf die richtige spur geracht
    das problem war das ich noch ein alten borland 5 verwende
    das problem bei dem ist wenn ich z B eine cpp datei habe die headers einbindet die wiederum wieder headers einbinden findet er die nicht darauf muss man auch erst einmal kommen 🙄

    trozdem danke für eure hilfe cu


Anmelden zum Antworten