Umwandlungsliste / Maschinencode
Übersicht

![]() |
GinaBetreff: Umwandlungsliste / Maschinencode |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu,
wollte gerne mal wissen, ob man sich bei Blitz 3D irgendwo die Umwandlungsliste, also den Maschinencode nach dem compilieren, anschauen kann... Thx, Gina. |
||
Steffen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die exe Datei mit einem Hex-Editor öffnen. Da wirst du aber recht wenig verstehen. Man kann die exe aber deassemblieren. Das ist schon etwas verständlicher, aber trotzdem nicht leicht zu verstehen.
Such einfach mal unter google nach hex+editor oder deassembler |
||
>PC: Pentium III 750MHz, ATI Rage 128 mit 32Mb, Windows Me, Blitz3D 1.87
>Laptop: Pentium M 1,4GHz, 512 Mb DDR, ATI Mobility Radeon 9000 mit 64Mb DDR, Windows XP Home, Blitz3D 1.87 |
![]() |
Gina |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm..., so richtig das was ich gesucht habe, ist es nicht. Der Code steht dort fast unverändert drin. Wandelt er das etwa erst bei Programmstart um? Ich kann mir nicht vorstellen, dass die CPU einen Befehl wie CreateCube kennt. Ich hätte jetzt erwartet, dass er diese ganzen Dreiecke berechnet... Und ein If kennt die CPU doch auch nicht. Höchstens einen Vergleich und dann wird der ConditionCode ausgewertet und entsprechend "gesprungen"...
Deassemblieren des Maschinencodes geht eigentlich nicht. Jedenfalls nicht richtig, da es nicht eindeutig ist. Er könnte maximal die Einzelbefehle wieder zurückübersetzen, dann müßte so etwas wie Spaghetticode mit 1000 goto's rauskommen... Hmm.. ist alles sehr merkwürdig. Kennt sich da jemand aus, was Blitz 3D macht? Gina. |
||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie, der steht da unverändert drin? In der Exe steht der bestimmt nicht unverändert drin. Natürlich in der Quelldatei, die wird als normale Textdatei gespeichert. Erst wenn du eine Exe erstellst oder den Source ausführen willst, wird er in Maschinencode umgewandelt.
Deassemblieren kann man sehr wohl, nur nicht dekompilieren (geht auch, aber da kommt dann nicht der ursprüngliche Code raus, ist ausserdem sehr kompliziert). Dann bekommst du Assembler - Quellcode, der fast genau dem Maschinencode in Textform entspricht. |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit der demo kannst du keine ausführbaren dateien erzeugen...
in der vollversion gehst du oben im menü auf "Program"->"Create Executable", gibst einen speicherort und einen namen an, und bekommst so die exe. die kannst du dann anschauen mit einem hexeditor und kannst den tollen maschinencode begutachten ![]() |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also wenn ichs richtig verstanden habe fragst du dich, wie der rechner eine Funktion wie "CreateCube" versteht, oder? Genau weis ich es auch nicht, aber CreateCube (oder irgend ne andere) wohl eine Funktion, die ebenfalls weiter aufgeteilt ist in weitere Funktionen. Die Aufgabe wird also in immer kleinere Stücke zerlegt und schließlich in Assembler code umgewandelt. | ||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja. Der Code der Funktion CreateCube ist eben schon vorab in der Runtime.dll eingebunden und wird dann nur noch zu der Exe hinzugefügt. | ||
![]() |
Gina |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Timo
so hätte ich es erwartet... @ Edlothiol das erklärt natürlich einiges... Vielen Dank, Gina. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group