Quote:
Originally Posted by Momo5000
Man könnte hier auch mit Templates arbeiten.
Code:
// Unnützer lahmer shice
Könntest du mir evtl. erklären warum? Ich meine mal gehört zu haben, dass ein WPM Aufruf in einer DLL mit GetCurrentProcess() sogar vorteile hätte, Google sagt leider nichts brauchbares, arbeite selber mit VP und memcpy intern.
|
wüsste keinen vorteil.
Pointer sind halt deutlich schneller (wie snow schon richtig erklärt hat), außerdem muss nicht das ganze eventuell ziemlich große objekt in lokalen speicher kopiert werden.
Quote:
|
Kein VirtualProtect Aufruf, keine NULL Checks ... Nicht wirklich eine saubere Lösung.
|
virtualprotect ist normalerweise nicht nötig, da die pointer über die das spiel auch auf seine objekte zugreift diese normalerweise nicht readprotected (warum sollte man so nen schwachsinn auch machen?).
NULL pointer überprüfung ist auch nicht immer nötig - generell gilt, wenn das spiel nicht auf nullpointer prüft, musst du es auch nicht - kann allerdings bei mehreren threads/verschiedenen timings probleme verursachen, weswegen man es immer tun sollte, wenn man nicht sicherstellen kann, dass der pointer immer gültig ist.
EDIT:
übrigens ist dein code sogar grob falsch, da er offensichtlich ungültige pointer per virtualprotect gültig macht, was wohl kaum das richtige verhalten ist.