Ohai,
Für jede Struktur eine Funktion StreamTheStructure() schreiben, welche die Größe der Daten errechnet, ein Buffer mit dieser Größe erstellt, die Daten aus der Struktur dort rein schreibt, inklusive verlinkte Daten (Strings, Buffer, ...), dieser wieder Relativ innerhalb des Buffers verlinkt und ...
Die Suche ergab 98 Treffer
- 07.12.2014 20:24
- Forum: Anfänger
- Thema: Structur an eine Konstante heften
- Antworten: 6
- Zugriffe: 1479
Re: Structur an eine Konstante heften
Ohai,
die ID kann entweder ein Pointer sein auf die Struktur oder eine Nummer.
Einerseits haben Pointer für gewöhnlich einen Wert weit über 0xffff und andererseits reichen dir vermutlich 65536 Gadgets.
Du kannst daher einfach zwischen einem Pointer und einer echten ID unterscheiden.
Wenn nun die ID ...
die ID kann entweder ein Pointer sein auf die Struktur oder eine Nummer.
Einerseits haben Pointer für gewöhnlich einen Wert weit über 0xffff und andererseits reichen dir vermutlich 65536 Gadgets.
Du kannst daher einfach zwischen einem Pointer und einer echten ID unterscheiden.
Wenn nun die ID ...
Re: Variable freigeben
Ohai,
Und warum nicht einfach die Variablen wiederverwerten?
Also das mit den Scopes wird auch nur bei Schleifen wirklich genutzt und da fast immer als Counter (z.B. i, j, k, l, ...). Du musst nur die Reihenfolge in der Scope-Tiefe beachten. Für etwas anderes habe ich in Java das eig nie genutzt ...
Und warum nicht einfach die Variablen wiederverwerten?
Also das mit den Scopes wird auch nur bei Schleifen wirklich genutzt und da fast immer als Counter (z.B. i, j, k, l, ...). Du musst nur die Reihenfolge in der Scope-Tiefe beachten. Für etwas anderes habe ich in Java das eig nie genutzt ...
- 06.11.2014 23:59
- Forum: Allgemein
- Thema: weiteres server/client problem
- Antworten: 7
- Zugriffe: 1957
Re: weiteres server/client problem
Nutze statt
> Len(str$)+1
besser
> StringByteLength(str$)+1+#PB_Compiler_Unicode
dann dürfte das auch im Unicode-Modus gehen
> Len(str$)+1
besser
> StringByteLength(str$)+1+#PB_Compiler_Unicode
dann dürfte das auch im Unicode-Modus gehen
- 25.09.2014 16:32
- Forum: Anfänger
- Thema: Programmabsturz nach CallFunction() verhindern
- Antworten: 6
- Zugriffe: 1166
Re: Nein, nein, bitte stürz nicht ab!!! (Böses CallFunction!
Da die Parameter und die Rücksprungadresse über den Stack übergeben werden, führt eine falsche Anzahl an Parametern zu einer falschen Rücksprungadresse also zu einem Jump ins Nirvana. Du könntest den Stack vorher mit der richtigen Rücksprungadresse mehrmals befüllen und anschließend das ...
- 11.09.2014 14:05
- Forum: Allgemein
- Thema: Einfaches Betriebssystem auf Raspberry Pi
- Antworten: 20
- Zugriffe: 4966
Re: Einfaches Betriebssystem auf Raspberry Pi
Es gibt gewisse Möglichkeiten mit objdump Maschinen-Code zu portieren für andere Prozessoren...davon rate ich aber eher ab. Zur Frage, ob es denn einen vernünftigen Grund gibt, sein eigenes Betriebssystem zu programmieren, obwohl es doch schon welche gibt: Weil es geht, weil alle geläufigen ...
- 02.09.2014 21:27
- Forum: Anfänger
- Thema: Assembler IF->THEN
- Antworten: 17
- Zugriffe: 1944
Re: Assembler IF->THEN
Denn ganzen Code kann man wegoptimieren, sowohl den ASM-Code, als auch den PB-Code, solange keine Ausgabe der Berrechnungen gemacht wird. Darum geht es nicht. Es ist mir klar, dass ich anschließend die Variablen in den RAM schreiben muss und den Code daher zu
! myLoop:
! xor rax, rax
! xor rbx ...
! myLoop:
! xor rax, rax
! xor rbx ...
- 02.09.2014 21:18
- Forum: Anfänger
- Thema: Assembler IF->THEN
- Antworten: 17
- Zugriffe: 1944
Re: Assembler IF->THEN
ist sinnvoll, hat aber auch alles seine richtigkeit, bis auf dass ich i auf quad vergrößern musste, weil der maximal-wert für long mal 2 nun mal nicht in long passt sondern ein quad braucht...
warum soll der code nichts machen? oder hast du den 32bit-Code getestet? Das kann sein, dass der nicht geht ...
warum soll der code nichts machen? oder hast du den 32bit-Code getestet? Das kann sein, dass der nicht geht ...
- 02.09.2014 20:34
- Forum: Anfänger
- Thema: Assembler IF->THEN
- Antworten: 17
- Zugriffe: 1944
Re: Assembler IF->THEN
Optminiert wäre zB sowas hier (auf x86_64):
t = ElapsedMilliseconds()
! myLoop:
! xor rax, rax
! xor rbx, rbx
! mov ebx, dword [v_m]
! mov rcx, rbx
! .cycle:
! add rax, 0x02
! xor rdx, rdx
! cmp eax, ebx
! jz @f
! inc rdx
! ja @f
! sub rdx, 0x02
! @@:
! loop .cycle
MessageRequester("ASM Time",Str ...
t = ElapsedMilliseconds()
! myLoop:
! xor rax, rax
! xor rbx, rbx
! mov ebx, dword [v_m]
! mov rcx, rbx
! .cycle:
! add rax, 0x02
! xor rdx, rdx
! cmp eax, ebx
! jz @f
! inc rdx
! ja @f
! sub rdx, 0x02
! @@:
! loop .cycle
MessageRequester("ASM Time",Str ...
- 26.08.2014 23:59
- Forum: Allgemein
- Thema: Dummy-Variablen
- Antworten: 9
- Zugriffe: 1339
Re: Dummy-Variablen
warum machst du dir das so schwer und arbeitest nicht einfach mit
bzw. ich verstehe noch nicht den Sinn des Ganzen :-/
Code: Alles auswählen
ProcedureReturn #PB_Compiler_Line