4.01 zu 4.00 Versionsunterschiede?
Beim Laden einer DLL meldet sich purebasic asm mit doppelten Einträgen??? Bei 4.00 ist aber alles OK. Wenn man nun wüsste, was sich verändert hat, könnte man besser einschätzen - ob mein code falsch ist oder doch der von purebasic. Ich habe schon drei Wochen nichts machen können wegen Computerwechsel - daher möchte ich doch erst mal wieder programmieren. Vielleicht habe ich demnächst dazu Lust, den Fehler einzukreisen. Daher habe ich erst mal wieder die alte Version installiert. Kann man eigentlich eine zweite Purebasic-version vom USB-adapter starten - ich hatte mal sowas gelesen?
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Wieso?
Die Prozedur AllocateMemory() bräuchte einfach nur eine Static LinkedList, in der alle pointer gespeichert werden. FreeMemory(-1) ruft einfach Allocatememory(-1) auf; Allocatememory(9 prüft und wenn ihm -1 übergeben wird, dann geht's die Liste durch und gibt alle Speicherbeereiche frei.
Dies ist natürlich die primitive Funktionsweise, ihr/Fred könnt/kann das bestimmt besser.
Die Prozedur AllocateMemory() bräuchte einfach nur eine Static LinkedList, in der alle pointer gespeichert werden. FreeMemory(-1) ruft einfach Allocatememory(-1) auf; Allocatememory(9 prüft und wenn ihm -1 übergeben wird, dann geht's die Liste durch und gibt alle Speicherbeereiche frei.
Dies ist natürlich die primitive Funktionsweise, ihr/Fred könnt/kann das bestimmt besser.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Wenn du unbedingt das Feature 'FreeMemory(-1)' haben willst, dann bau es dir doch selber. Da du gerade ein Weg beschrieben hast, wie's funktioniert kann es ja nicht so schwer sein. (Das funktionierte im übrigen auch schon mit 3.94 nicht, nur weil es jetzt bekannt wurde, brauchst du dich nicht dafür einsetzen, dass es doch wieder eingebaut wird, du hast es ja anscheinend mit 3.94 auch nicht gebraucht)

[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
@Hellhound66: Danke funktioniert prima.
Noch zur alten PB-Version 4.00:
Bei dem Computerwechsel habe ich noch festgestellt, dass die 3D engine bei ungünstiger Auflösung (1024x768;1280x800) unkontrollierte Fehler macht. Meine native Bildschirmauflösung ist 1440x900.
ChangeGamma (0,0,0,1) verursacht einen Absturz.
Mein Computer ist ein MacBook Pro. Vielleicht ist das zu neue Hardware? Hat schon wer Erfahrungen mit Intel Core Duo und Purebasic?
Noch zur alten PB-Version 4.00:
Bei dem Computerwechsel habe ich noch festgestellt, dass die 3D engine bei ungünstiger Auflösung (1024x768;1280x800) unkontrollierte Fehler macht. Meine native Bildschirmauflösung ist 1440x900.
ChangeGamma (0,0,0,1) verursacht einen Absturz.
Mein Computer ist ein MacBook Pro. Vielleicht ist das zu neue Hardware? Hat schon wer Erfahrungen mit Intel Core Duo und Purebasic?
-
- Beiträge: 114
- Registriert: 11.09.2004 07:58
- Wohnort: Mannheim
- Kontaktdaten:
Das stimmt nicht ganz. Es gibt viele Kompiler ( z.B. C++ ) welche im Debug Modus mit einen eigenen Speicher Manager arbeiten.Hellhound66 hat geschrieben:In meinen Augen ein sinnloser Befehl..
Gäbe es in PureBasic auch einen Speicher-Manager, dann wäre jedes AllocateMemory (vllt. gar auch noch die Lokalen/Globalen Variablen) verzeichnet. Nach dem Beenden würde wieder alles automatisch freigegeben werden.
Natürlich könnte nun auch einfach (linux kompatibel) eine Funktion wie z.B. 'FreeMemory(-1)' eingebaut werden, allerdings würde diese dann nur im Debug Modus funktionieren.
Freds verhalten ist also kein Wunder.
-
- Beiträge: 476
- Registriert: 23.03.2005 23:19
Doch es stimmt zu 100%. Es ist in meinen Augen ein sinnloser Befehl.Das stimmt nicht ganz.
Ich sehe den Sinn nicht, oder kann mir ein Programm (auf zum debuggen) nicht vorstellen, wo ich _alle_ Speicheranfragen wieder freigebe, außer vor
Code: Alles auswählen
end
Optimismus ist ein Mangel an Information.
-
- Beiträge: 114
- Registriert: 11.09.2004 07:58
- Wohnort: Mannheim
- Kontaktdaten: