Compiler schreiben mit BB?
Übersicht

![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
ChristianK hat Folgendes geschrieben: Für's übersetzten brauchst du in dem Fall dann einen Compiler. So einen zu schreiben ist aber nicht ganz einfach ...
genau eben nicht! Man nimmt sich einfach schon einen der zig compiler, die frei irgendwo rumschwirren. wie zum beispiel den gcc! Dann hat man nur noch die Arbeit, seinen Code in die sprache zu übersetzen, die der compiler verwendet. in diesem Fall eben C. Fassen wir zusammen: - Kein Interpreter für sonstirgendwas muss selbst geschrieben werdem - Kein Compiler für sonstirgendwas muss selbst geschrieben werdem - Man muss sich lediglich einen "übersetzer" schreiben, der das Spiel (sei es jetzt in einer selbstausgedachten sprache geschrieben oder per klickibunti zusammengesetzt) in die Sprache des Compilers übersetzt. aaaalso um es kurz zu machen: Eigene Sprache -> Übersetzer -> Standardisierte Sprache -> Compiler -> Ausführbare Datei Den Übersetzer muss man dann selbst schreiben. und _nur_ den übersetzer. Das hat nichts mit einem Compiler oder einen Interpreter zu tun. Jetzt zwei konkrete beispiele, damit es der letzte versteht: Eigene Sprache -> Übersetzer -> Assemblercode -> FASM -> Ausführbare Datei Eigene Sprache -> Übersetzer -> C oder C++-code -> GCC -> Ausführbare Datei Edit: Zitat: Hm...
Gibt es vielleicht irgendwelche fertigen Compiler, die den Job machen können? http://de.wikipedia.org/wiki/FASM http://de.wikipedia.org/wiki/G...Collection |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
- Zuletzt bearbeitet von Smily am Mo, Jan 05, 2009 15:25, insgesamt einmal bearbeitet
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, wie schreibt man einen solchen Übersetzer und
wie kann man dann das C in eine Exe umwandeln und wie binde ich diesen Compiler in mein Programm ein? Gibt es da irgendwelche Tutorials oder so? |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Smily, du weißt aber schon, dass ein Übersetzer ein Compiler ist? ![]() |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein übersetzer ist höchstens ein Präprozessor
Blitz4D hat Folgendes geschrieben: Ok, wie schreibt man einen solchen Übersetzer und
wie kann man dann das C in eine Exe umwandeln und wie binde ich diesen Compiler in mein Programm ein? Gibt es da irgendwelche Tutorials oder so? Das kann man alles, nachdem man sich mit den Grundlagen der Programmierung ausseinandergesetzt, und diese verstanden hat |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
- Zuletzt bearbeitet von Smily am Mo, Jan 05, 2009 15:31, insgesamt einmal bearbeitet
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein Compiler ist definitionsgemäß ein Übersetzer, der eine Quellsprache in eine Zielsprache übersetzt. Ob das Maschinensprache oder eine Hochsprache ist, spielt keine Rolle. Siehe dazu auch http://de.wikipedia.org/wiki/Compiler | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Ist soetwas überhaupt möglich ?
Mit einer Programmiersprache eine Programiersprache zu schreiben, dessen Maschiencode schneller ausgeführt wird als der der benutzten Programmiersprache Question Natürlich. Blitz bietet doch genug Sachen, um eigene Exe-Files selbst zu schreiben. Schon mit WriteByte allein kannst du kleine Programme schreiben: Code: [AUSKLAPPEN] CODE=B3D
File=WriteFile("Test.com") WriteByte File,235 WriteByte File,12 WriteByte File,104 WriteByte File,101 WriteByte File,108 WriteByte File,108 WriteByte File,111 WriteByte File,32 WriteByte File,119 WriteByte File,111 WriteByte File,114 WriteByte File,108 WriteByte File,100 WriteByte File,36 WriteByte File,186 WriteByte File,2 WriteByte File,1 WriteByte File,180 WriteByte File,9 WriteByte File,205 WriteByte File,33 WriteByte File,184 WriteByte File,1 WriteByte File,76 WriteByte File,205 WriteByte File,33 CloseFile(file) Dieses Programm gibt in der DOS-Box kurz "hello world" aus, danach verschwindet sie wieder ![]() (beachte: Schon die einfachste Windows-Executable wird diese Com-Datei an größe ziemlich heftig übertreffen.) Theoretisch kannst du mit Blitz auch komplette PE-files (.exe) nur mit "WriteByte" schreiben. Danach ist es egal, ob diese Bytes durch einem auf Blitz, oder auf C++ basiertem Programm in die Datei geschrieben wurden. Zur Not könnte man das auch per Hand schreiben, aber ich persönlich hätte keine Lust, mehrere Tausend Bytes nur über die Tastatur zu schreiben ![]() Also... Mit Blitz ist es möglich einen Kompiler zu basteln, der Ausführbare Dateien erstellt, aber vermutlich wird das sehr viel Arbeit, vorallem, weil man dafür auchnoch ASM lernen müsse ![]() Ein paar wichtige Sachen zum Aufbau von PEs hab ich auchmal gleich rausgesucht ![]() http://msdn.microsoft.com/en-u...09762.aspx http://www.deinmeister.de/w32asm5.htm |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das mit WriteByte ist ja nicht schlecht.
Ich weiß nur nicht wieviel Byte ich schreiben soll für eine bestimmte Funktion oder so. |
||
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man sich Deine Antworten so ansieht, wird das wohl nix werden.
Informier Dich erstmal besser und lern noch ein bisschen was bist Du so ein Projekt beginnst. |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
flona |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich kann man einen solchen Compiler schreiben. Je nachdem was dein Compiler alles können soll wirds halt schwieriger. Schreibe momentan selber einen.
Hier gibt's auch ein Tutorial dazu: Let's build a compiler Ist zwar schon 20 Jahre alt, aber irgendwie immer noch aktuell. ![]() |
||
www.Dreier-Florian.kilu.de
Intel Core 2 Quad Q9400 | Zotac 9800GT | 4GB RAM | 1TB HDD | Windows 7 Professional 32bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group