Warum kann das der VC Kompiler nicht?



  • Hallo Forum,

    ich habe ein GCC-Projekt bekommen. Bestehend aus .c Dateien, also C Programm. Dort werden haufenweise Arrays so dimensioniert/allokiert:

    p_str* abc(const unsigned int len) {
      uint8_t tmp[len];
    ...
    

    Warum kann das der VC Kompiler nicht? Muß ich jetzt überall mit Malloc/free ran? Oder muß ich nur die Notation ändern damit der VC die Zeilen kompiliert?

    Vielen Dank

    Peter



  • Affenschande schrieb:

    Hallo Forum,

    ich habe ein GCC-Projekt bekommen. Bestehend aus .c Dateien, also C Programm. Dort werden haufenweise Arrays so dimensioniert/allokiert:

    p_str* abc(const unsigned int len) {
      uint8_t tmp[len];
    ...
    

    Warum kann das der VC Kompiler nicht? Muß ich jetzt überall mit Malloc/free ran? Oder muß ich nur die Notation ändern damit der VC die Zeilen kompiliert?

    Vielen Dank

    Peter

    Was sagt er denn? Dass er uint8_t nicht kennt? Dann kannst du dir auch einfach ein typedef machen.

    Stefan.



  • Ach so, hab die Fehlermeldung vergessen 😮
    Also er will das "len" eine Konstante ist und nicht erst per Parameter übergeben wird. (Error 1 error C2057: expected constant expression d:\abc\pdfparser.c 209 crk
    )



  • Der MSVC kann nunmal kein C99, nur C89.



  • Ach so. Muß ich dem Ballmer erst noch 'n Groschen zustecken damit er das kann 🤡
    Hab jetzt überall eine Malloc reingeknallt und an allen Funktionsausgängen ein Free.



  • Affenschande schrieb:

    Ach so. Muß ich dem Ballmer erst noch 'n Groschen zustecken damit er das kann 🤡
    Hab jetzt überall eine Malloc reingeknallt und an allen Funktionsausgängen ein Free.

    ...und schön drauf geachtet dass keine Funktion in der Mitte returned? 😃



  • Ich zwar kein Hauptberuflicher C Entwickler, aber so ganz ernst nehmen mußt Du meinen Nick auch wieder nicht! 😉



  • LordJaxom schrieb:

    Affenschande schrieb:

    Ach so. Muß ich dem Ballmer erst noch 'n Groschen zustecken damit er das kann 🤡
    Hab jetzt überall eine Malloc reingeknallt und an allen Funktionsausgängen ein Free.

    ...und schön drauf geachtet dass keine Funktion in der Mitte returned? 😃

    Ist doch Wurscht, gibt doch genug RAM!
    🙂



  • Wurst schrieb:

    LordJaxom schrieb:

    Affenschande schrieb:

    Ach so. Muß ich dem Ballmer erst noch 'n Groschen zustecken damit er das kann 🤡
    Hab jetzt überall eine Malloc reingeknallt und an allen Funktionsausgängen ein Free.

    ...und schön drauf geachtet dass keine Funktion in der Mitte returned? 😃

    Ist doch Wurscht, gibt doch genug RAM!
    🙂

    Genau. Alles was man braucht, ist ein Laufzeitmaximum der Anwendung, abhängig vom installierten Speicher. 🤡



  • _matze schrieb:

    Genau. Alles was man braucht, ist ein Laufzeitmaximum der Anwendung, abhängig vom installierten Speicher. 🤡

    Quatsch, wozu gibt's 'ne Swap-Datei? 🤡


Anmelden zum Antworten