Stack / heap in a_samp.inc?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo zusammen


    Wollte gerade eines meiner alten, kleinen Scripts kompilieren.


    Es funktioniert zwar schon, es kommt allerdings diese Info:



    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 88 bytes
    Code size: 8 bytes
    Data size: 0 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=9 cells (36 bytes)
    Total requirements: 16480 bytes


    Es kann der Fall sein, dass strings zu gross definiert wurde. Darüber weiss ich schon Bescheid.
    Habe mal alles ausgeklammert und nur die a_samp.inc included.
    Der Fehler kommt trotzdem noch :D


    Ist da was in der a_samp.inc "fehlerhaft"?


    MFG

  • Ich weiss nicht wie man dies weg kriegt aber das ist nicht schlimm.Einfach nicht beachten.
    MFG Tuker


    Dein Heapspace ist überlastet, schreibe folgendes in dein Script:


    #pragma dynamic 16480


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Schick mir mal deine TeamViewer Daten, anscheinend hast du schonmal deinen HeapSpace erhöht...


    Es kann auch einfach daran sein, das er in den debug modus compilt
    das erkennt man wenn man in den pawno Ordner eine datei namens "pawn.cfg" findet
    ist die weg wird die meldung nicht mehr da stehen

    All in all it's just another brick in the wall


  • Es kann auch einfach daran sein, das er in den debug modus compilt
    das erkennt man wenn man in den pawno Ordner eine datei namens "pawn.cfg" findet
    ist die weg wird die meldung nicht mehr da stehen


    Auch möglich...dennoch glaube ich, dass es daran liegt, dass er zu hohe und zu viele Arrays benutzt und deshalb der HeapSpace überlastet ist ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Dein Heapspace ist überlastet, schreibe folgendes in dein Script:


    #pragma dynamic 16480


    mfg. :thumbup:


    Warum willst du denn da den heap vergrößern?


    Das ist einfach unnötig.
    Er hat keinen Fehler.


    Das ist nur eine kleine Übersicht, die auch auftaucht, wenn man mit -d3 compiliert oder viele Arrays benutzt.
    Es ist sogehen maximal eine Warnung.


    Den Heap sollte man dann erst erhöhen, wenn sich der SA:MP Server meldet.
    Der meldet sich schon rechtzeitig ;)


    Zitat

    dass er zu hohe und zu viele Arrays benutzt und deshalb der HeapSpace überlastet ist ^^


    Ja ne..
    Ist klar :thumbdown:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Weil du den Heap nicht überlasten kannst.


    Der Heap kann wenn nur während der Laufzeit "überlastet" werden.
    Das ist schon relativ schwer und funktioniert nur, wenn man viel auf Arrays zugreifen muss.


    Das Problem hatte [DT]Sniper schon einmal.


    Der Heap legt sich in dem moment fest, in dem kompiliert wird.
    Die "dynamic" Angabe ist dabei eher ein Richtwert.


    Allgemein sollte man #pragma nicht verwenden.
    siehe unused und tabsize


    #pragma sollte von keinem Anfänger/Fortgeschrittenen verwendet werden,
    denn man kann nie genau sagen, wie die Auswirkungen sind/sein werden.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das,was ihr alles hier erzählt,is ja schön und gut,aber wir sollten wieder zum Thema kommen,undzwar wie er es wegbekommt


    Seine TeamViewer Daten will er mir nicht schicken also kann ich ihm so direkt nicht helfen, da ich nicht weiß, was er sonst noch so da stehen hat...


    Wie dem auch sei ich bin jetzt für 1std nicht erreichbar ^^


    Also Viel Erfolg ! :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • erhöht man ja den Heapspace... :rolleyes:


    Das sollte man aber erst dann tun, wenn es soweit ist und nicht dann wenn es einem passt.


    Kaum ein Programmierer kann sagen, "Ah jetzt, wird der Heap doch etwas knapp, wenn er das ausführt".


    Sowas kann man eher vermuten und man sollte vorher auf die Reaktion des Programms warten,
    denn PAWN wurde nicht konstruiert um dynamisch RAM/Speicher "abzugreifen"


    Manniac:
    Einfach dort lassen.
    Es entstehen keine Fehler.


    Wenn es dich wirklich stört, achte mal darauf ob du nicht mit dem -d3 Parameter compilierst und ob du nicht vielleicht etwas zu große Arrays hast

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ah, die pawn.cfg hab ich ja komplett vergessen :D


    Hab -d3 aus den Run Options rausgenommen, aber hat nicht geklappt.


    Klar, die pawn.cfg. -d3 rausgenommen und tada, funktioniert.


    Danke euch allen und sorry für den eher "unnötigen" Thread :D


    Und wie schon gesagt wurde, #pragma dynamic ist keine schöne Lösung. Wollte ich eigentlich auch nicht verwenden.


    MFG