Re: Purefiler - Ein alternativer Profiler
Verfasst: 25.09.2010 18:49
@Kiffi: Ich habs jetzt geschafft, denke ich. Die neue Version (Build 84), die online ist, erkennt auch Labels mit Blanks vor dem ":"
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Bingo! Dieser Syntax Error ist nun weg.Didelphodon hat geschrieben:@Kiffi: Ich habs jetzt geschafft, denke ich. Die neue Version (Build 84), die online ist, erkennt auch Labels mit Blanks vor dem ":"
Code: Alles auswählen
EnableExplicit
XIncludeFile "C:\Program Files\PureBasic\Examples\ScintillaHelper\ScintillaHelper.pbi"
Procedure Main()
Protected WWE, Quit
OpenWindow(0,#PB_Ignore,#PB_Ignore,100,100,"")
Repeat
WWE = WaitWindowEvent()
Select WWE
Case #PB_Event_CloseWindow
Quit = #True
EndSelect
Until Quit = #True
EndProcedure
Main()
End
Der war ein guter!Kiffi hat geschrieben:-> Line 199: Syntax error.
Bestätigt. Läuft nun ohne Fehler. Danke!Didelphodon hat geschrieben:Ich habs behoben und eine neue Version ist oben. Build 85
Hm, ja, ich hätt mich auch über mehr positives Feedback, sowohl im englischen Forum, als auch hier, gefreut - Hacke, war das alles nämlich massig.Kiffi hat geschrieben: (wundert mich, dass es hier so wenig Feedback von den
Gamern gibt; die müssten den Profiler doch eigentlich sehr
gut gebrauchen können.)
So das habe ich jetzt mal als Grund genommen Purefiler auszuprobieren. Nachdem du so viele Updates rausgehauen hast, wollte ich erstmal abwarten bis eine stabile Version online ist. Ich muss außerdem zugeben, dass der lange Beschreibungstext und das Fehlen eine klare Anweisung wie es zu konfigurieren ist, mich abgeschreckt hat.Didelphodon hat geschrieben:Hm, ja, ich hätt mich auch über mehr positives Feedback, sowohl im englischen Forum, als auch hier, gefreut - Hacke, war das alles nämlich massig.Kiffi hat geschrieben: (wundert mich, dass es hier so wenig Feedback von den
Gamern gibt; die müssten den Profiler doch eigentlich sehr
gut gebrauchen können.)
Anyway, wenigstens ist das Teil jetzt wirklich in einem herzeigbaren, stabilen Zustand.
LG Didel.
Wenn Du Purefiler so wie im ersten Posting von Didelphodon eingerichtet hast, dannc4s hat geschrieben:Ich starte mit "Kompilieren/Starten" und keine Meldung a la "Purefiler benutzen" kommt.
Code: Alles auswählen
Procedure _CreateHash(*pKey.CHARACTER, Mapsize.i)
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
!MOV EAX,5381 ;Startwert hash
!MOV EBX,EAX ;für erste Addition in Schleife
!MOV ESI,dword[p.p_pKey] ;oder LEA ESI,[v_pKey], aber wenn p_pKey eh schon da ist...
!XOR EDX,EDX ;EDX auf Null setzen
!MOV CL,5 ;sollte so schneller sein
!@@:
!MOV DL,[ESI] ;also kein Unicode!
!OR DL,DL ;Test auf Null
!JZ @f ;ist Null, Sprung vorwärts
!SHL EAX,CL
!ADD EAX,EBX
!ADD EAX,EDX
!MOV EBX,EAX ;"alten" hash sichern
!INC ESI
!JMP @b ;Sprung rückwärts, nächsten Wert einlesen
!@@:
!MOV dword[p.p_pKey],esi ;wirklich Pointer erhöhen? Sonst weg
!XOR EDX,EDX ;schneller und richtiger (!) als CDQ ich gehe hier mal von vorzeichenlosen Werten aus
!DIV dword[p.v_Mapsize] ;EAX ist noch hash
!MOV EAX,EDX ;Divisions-Rest
CompilerElse
!MOV RAX,5381 ;Startwert hash
!MOV RBX,RAX ;für erste Addition in Schleife
!MOV ESI,dword[p.p_pKey] ;oder LEA ESI,[v_pKey], aber wenn p_pKey eh schon da ist...
!XOR RDX,RDX ;EDX auf Null setzen
!MOV CL,5 ;sollte so schneller sein
!@@:
!MOV DL,[ESI] ;also kein Unicode!
!OR DL,DL ;Test auf Null
!JZ @f ;ist Null, Sprung vorwärts
!SHL RAX,CL ;SHL = SAL; SAL wird selten angegeben
!ADD RAX,RBX
!ADD RAX,RDX
!MOV RBX,RAX ;"alten" hash sichern
!INC ESI
!JMP @b ;Sprung rückwärts, nächsten Wert einlesen
!@@:
!MOV dword[p.p_pKey],esi ;wirklich Pointer erhöhen? Sonst weg
!XOR RDX,RDX ;schneller und richtiger (!) als CDQ ich gehe hier mal von vorzeichenlosen Werten aus
!DIV dword[p.v_Mapsize] ;EAX ist noch hash
!MOV RAX,RDX ;Divisions-Rest
CompilerEndIf
ProcedureReturn ;Gibt Hash in EAX zurück
EndProcedure
_CreateHash(@"test", 1000)