Autor Thema: Kleines Projekt zum Theme Spieleprogrammierung  (Gelesen 29759 mal)

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #20 am: 25. February 2006, 10:37 »
@joachim_neu und co: Auch spiele sollten in Assembler geschrieben werden. Du kannst die WinAPI ja auch mit Assembler ansprechen. Da denke ich gerade an TASM oder MASM. Nehmt mir es nicht übel, ich programmiere immer in ASM. Das Programm/Spiel wird einfach kleiner und schneller. ;)

bitmaster

PS: Assembler is the best ;)
In the Future everyone will need OS-64!!!

n3Ro

  • Beiträge: 288
    • Profil anzeigen
Gespeichert
« Antwort #21 am: 25. February 2006, 10:50 »
... und der Quelltext wird immer unübersichtlicher und größer ^^ Meiner Meinung nach würde sich C auf jeden Fall immer lohnen, hier in dem Fall würde ich sogar gleich Java nehmen. Und für die verrückten gibts ja immernoch ABAP ;-)
Agieren statt Konsumieren!

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #22 am: 25. February 2006, 10:51 »
Naja, Assembler ist aber das unportabelste was es gibt.
Ausserdem brauchst du sehr viel länger, ein Assemblerprogramm zu schreiben, als ein C Programm zu schreiben. Die Ausführungsgeschwindigkeit wird nicht sehr stark beeinflusst, heutige Compiler können schon sehr guten Code generieren. Oft benutzte Funktionen können ja immernoch in inline Assembler etc. geschrieben werden. Ausserdem ist Assemblercode nicht so gut zu verstehen wie C Code.

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 25. February 2006, 11:07 »
thema inline-assmbler:

neuere basics gibs mit inline-assembler wie der nachfolger von blitzbasic, blitzmax

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #24 am: 25. February 2006, 17:26 »
Zitat von: bitmaster
Nehmt mir es nicht übel, ich programmiere immer in ASM. Das Programm/Spiel wird einfach kleiner und schneller. ;)

Du kennst deinen Rechner also so gut und bist bereit, die Zeit aufzuwenden, daß dein von Hand geschriebener Assemblercode besser ist als eine optimierte Compilerausgabe? Respekt! ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #25 am: 25. February 2006, 17:55 »
Zitat von: taljeth
Zitat von: bitmaster
Nehmt mir es nicht übel, ich programmiere immer in ASM. Das Programm/Spiel wird einfach kleiner und schneller. ;)

Du kennst deinen Rechner also so gut und bist bereit, die Zeit aufzuwenden, daß dein von Hand geschriebener Assemblercode besser ist als eine optimierte Compilerausgabe? Respekt! ;)
Compilerausgabe und optimiert? Also das passt nicht zusammen. Wenn ich eine einfache meldung mit Winapi unter borland oder microsoft visual c++ haben möchte ist das programm zwischen 20-200 KByte groß. Wenn ich das mit Assembler mache bin ich bei 4 KByte. Und die 4 KByte sind pflicht deswegen 4 KByte. Danach wird der unterschied zwischen den Assemblerprogramme sogar noch größer. Und dein PC musst du auch nicht perfekt kennen, es gibt ja auch unter Assmbler die WinAPI.

bitmaster
In the Future everyone will need OS-64!!!

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #26 am: 25. February 2006, 18:08 »
Das liegt dann daran, dass zusätzliche Libraries mitgelinkt werden. Eine MessageBox wird nicht zu 20kB Code kompiliert.

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #27 am: 25. February 2006, 18:09 »
jep ich hab das mal unter ms visualc++ 6.0 professional gemacht und unbenötigte einträge bei den libraries und so rausgenommen, siehe da: 6,01kb

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #28 am: 25. February 2006, 23:35 »
Das mit kleiner kann ich ja vielleicht noch glauben, wenn auch nicht in wirklich nennenswertem Umfang, aber das mit schneller wage ich doch zu bezweifeln. Da optimieren heutige Compiler doch ganz kräftig.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #29 am: 26. February 2006, 09:49 »
bei mir funktioniert das irgendwie nich, aber man kann sich in visualc++ den assemblercode anschauen dann könntestes ja sehen

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #30 am: 26. February 2006, 11:03 »
Ja ja ist ja schon gut. Das solltet ihr ja auch nicht unbedingt so machen. Ich programmiere halt immer in ASM (programmiere aber keine Spiele ;), zumindest nicht nennenswerte). Ich wollte nur sagen das wenn ihr euch schon darum streitet ob Basic, C++, Pascal, Java etc. dann nehmt doch einfach ASM. Wenn ihrs richtig könnt, kann keiner eine bessere Programmiersprache anbieten.

bitmaster

PS: Schneller starten tun sie dann aber doch. Startet mal einen Texteditor der mit C++ geschrieben wurde (allen unnötigen kram beim kompilieren rausgenommen) und einen in ASM geschriebenen von Diskette aus, da werdet ihr den Unterschied merken. Ich frage mich immer warum Windows 3.x sieben disketten brauch, Windows 95 auf einmal eine ganze CD und Windows XP 1 GByte Festplattenspeicher. Mit welcher Programmiersprache schreiben die Windows noch mal? ;)
In the Future everyone will need OS-64!!!

Osbios

  • Beiträge: 247
    • Profil anzeigen
Gespeichert
« Antwort #31 am: 26. February 2006, 13:31 »
Zitat von: bitmaster
PS: Schneller starten tun sie dann aber doch. Startet mal einen Texteditor der mit C++ geschrieben wurde (allen unnötigen kram beim kompilieren rausgenommen) und einen in ASM geschriebenen von Diskette aus, da werdet ihr den Unterschied merken. Ich frage mich immer warum Windows 3.x sieben disketten brauch, Windows 95 auf einmal eine ganze CD und Windows XP 1 GByte Festplattenspeicher. Mit welcher Programmiersprache schreiben die Windows noch mal? ;)

Dass manche Projekte überdimensional groß werden, hat eher mit schlechtem Desigen zu tuen, als mit einer hohen Programmiersprache.
Man kann auch mit C oder C++ sehr kleine und effiziente Programme schreiben. (z.B. der 3D-Shooter KKriger ~64KB)
Ich glaube aber, dass Assembler von der Ausführungsgeschwindigkeit und besonders von der Dateigröße immer noch ungeschlagen ist. Dafür ist Asm sehr viel schwerer zu schreiben und zu lesen.
db 0x55AA

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #32 am: 26. February 2006, 15:13 »
aso zur info :

msdos is in asm geschrieben von win weiß ichs net....
der dossource steht im netz

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #33 am: 26. February 2006, 15:39 »
Zitat von: Coffee
aso zur info :

msdos is in asm geschrieben von win weiß ichs net....
der dossource steht im netz
Nein, MS-DOS ist nicht in ASM geschrieben. Die ersten Versionen ja, aber die späteren wurden dann auch mit C geschrieben. Windows ist zum größten Teil (auch Linux) in C geschrieben.

bitmaster

EDIT: Der MS-DOS Source steht mit sicherheit nicht im Netz. Eine kopie von MS-DOS vielleicht, aber nicht microsofts MS-DOS.
In the Future everyone will need OS-64!!!

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #34 am: 26. February 2006, 15:51 »
@DOS:
In den späteren DOS-Versionen wird zusätlich C verwendet, der Großteil ist immer noch in Assembler geschrieben.
Der DOS Source wurde irgendwann mal geleakt, ich glaub der ist (fast) komplett im Internet gelandet. Irgendwo hab ich auch mal gelesen, dass auf den letzten Seiten von irgendeinem seltenen & alten DOS-Buch der Source von Version 2.xx abgedruckt ist.

@ASM vs. C:
Ich denke, dass man nicht abstreiten kann, dass Assembler Programme ein klein wenig schneller und kleiner sind als C-Programme - natürlich nur wenn man gut Asm kann. C Programme sind dafür wesentlich übersichtlicher und es lassen sich viele Dinge in C/C++ einfach schöner "ausdrücken".

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #35 am: 26. February 2006, 16:09 »
@bitmaster: ich hab mir den source geladen, aber weiß net ob das legal ist deswegen weiß ich nicht ob ich den dir schicken darf sonst würd ichs machen

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #36 am: 26. February 2006, 16:13 »
Zitat von: Coffee
@bitmaster: ich hab mir den source geladen, aber weiß net ob das legal ist deswegen weiß ich nicht ob ich den dir schicken darf sonst würd ichs machen
Den source von was? Den source von MS-DOS hat nur microsoft, glaube es mir. Du hast dann den source einer anderen DOS Version die nicht von Microsoft ist.

bitmaster
In the Future everyone will need OS-64!!!

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #37 am: 26. February 2006, 16:15 »
ganz sicher ms-dos da sind in vielen ordnern copyright-files mit dem inhalt


;/*
; *                      Microsoft Confidential
; *                      Copyright (C) Microsoft Corporation 1993
; *                      All Rights Reserved.
; */



bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #38 am: 26. February 2006, 17:22 »
Zitat von: Coffee
ganz sicher ms-dos da sind in vielen ordnern copyright-files mit dem inhalt


;/*
; *                      Microsoft Confidential
; *                      Copyright (C) Microsoft Corporation 1993
; *                      All Rights Reserved.
; */


Hä?
In the Future everyone will need OS-64!!!

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #39 am: 26. February 2006, 17:34 »
wieso häh? in sogut wie jedem ordner ist ne file

"copyright.txt" mit diesem inhalt

 

Einloggen