amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Optimale Grafikprogrammierung für AGA&CGX [ - Search - New posts - Register - Login - ]

1 -2- [ - Post reply - ]

2004-03-15, 23:50 h

Ralf27
Posts: 2779
User
Zitat:
Original von whose:
Zitat:
Original von thomas:
Zitat:
Ermh, das ist nicht Dein Ernst, tokai, oder?

Also, nach K&R würde man sowas folgendermaßen schreiben:


Es ging hier darum zu zeigen, wie man Peek und Poke in C realisiert, nicht darum, wie man das schönste C schreibt.

Gruß Thomas


Eijo, das war mir klar. Aber warum schreibt er das dann nicht gleich und bringt statt dessen ein Beispiel mit Array und nem Zeiger darauf? Ich glaub weniger, daß ein Basic-Programmierer auf Anhieb versteht, was damit gemeint ist.

Gewöhnt Euch doch einfach mal an, die Sache kurz, knapp und einfach zu erklären, statt mit lustigen Tricks zu prahlen ;)

Grüße


Recht hast Du, aber es gibt nur noch ein paar (oder hier im Forum zwei? :D )Basic-Progger. :)

Achja, in Basic ein Zeiger auf ein Array (Beispiel)
p&=varptr(feld(0))
--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]

2004-03-16, 00:58 h

whose
Posts: 2156
User
Zitat:
Original von Ralf27:

Recht hast Du, aber es gibt nur noch ein paar (oder hier im Forum zwei? :D )Basic-Progger. :)

Achja, in Basic ein Zeiger auf ein Array (Beispiel)
p&=varptr(feld(0))


Und hier in C:

char *zeiger;
char array[1024]; /* Irgendwas drin... */

zeiger = array; /* zeigt auf Position 0 im Array */

Oder, für die Liebhaber der "schönen" Schreibweise:

zeiger = &array[0];

Ralf, fällt Dir die Ähnlichkeit auf? ;)



[ - Answer - Quote - Direct link - ]

2004-03-16, 09:11 h

thomas
Posts: 7718
User
Zitat:
Original von whose:

Oder, für die Liebhaber der "schönen" Schreibweise:

zeiger = &array[0];

Ralf, fällt Dir die Ähnlichkeit auf? ;)


Wie wär's mit

#define array(x) array[x]
#define varptr(x) &(x)

p = varptr(array(0));

Frei nach dem Motto "wie mache ich aus einem C-Compiler einen Basic-Compiler" :-)

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2004-03-16, 11:08 h

whose
Posts: 2156
User
Zitat:
Original von thomas:

Wie wär's mit

#define array(x) array[x]
#define varptr(x) &(x)

p = varptr(array(0));

Frei nach dem Motto "wie mache ich aus einem C-Compiler einen Basic-Compiler" :-)


*kicher*

So kann mans natürlich auch machen. Preprozessor-Virtuose, was? ;)

Grüße

[ - Answer - Quote - Direct link - ]

2004-03-16, 14:42 h

Mad_Dog
Posts: 1944
User
Zitat:
Original von Ralf27:

Du hast geschrieben das moderne Architekturen Probleme haben mit einzelnen Punkte setzen oder lesen. Probleme in der Hinsicht das es nicht gerade effektiv ist. Und in der Hinsicht muß ich Dir recht geben.

Mein Beispielprogramm lief mit genau diesem setzen von einzelnen Punkten auf einem 2,4GHz-Pentium unter VBasic.
Ich war da sosehr erstaunt das es so langsam lief, langsamer als auf einem Amiga unter AGA mit MaxonBasic.

Es hieß dann das AGA logischerweiße schneller ist, weil es eine andere Architektur hat (Treiber, etc.)

Aber mit einem Amiga und CGX läuft es nochmal viel schneller... :)


Mit "moderner Architektur" ist hier das OS gemeint. Wenn ein Betriebsssystem 1000 Umwege geht, ehe es einen Pixel setzt, ist das natürlich langsamer, wie hardwarenahe Programmierung, dafür aber wesentlich flexibler.

--

http://www.norman-interactive.com

[ - Answer - Quote - Direct link - ]

2004-03-23, 01:23 h

obw
Posts: 94
User
Zitat:
Original von thomas:
Wie wär's mit

#define array(x) array[x]
#define varptr(x) &(x)

p = varptr(array(0));

Frei nach dem Motto "wie mache ich aus einem C-Compiler einen Basic-Compiler" :-)


Argl! Das erinnert mich an die Geschichte von dem Pascal-Programmierer, der mit C angefangen hat und erst mal

code:
#define BEGIN {
#define END }


in seine Programme schrieb. Ob er das überlebt hat, ist mir nicht bekannt. ;)

OBW


[ - Answer - Quote - Direct link - ]

2004-03-23, 02:09 h

whose
Posts: 2156
User
Zitat:
Original von obw:
Argl! Das erinnert mich an die Geschichte von dem Pascal-Programmierer, der mit C angefangen hat und erst mal

code:
#define BEGIN {
#define END }


in seine Programme schrieb. Ob er das überlebt hat, ist mir nicht bekannt. ;)


Na, wenn er noch Kollegen hatte, die mit ihm zusammen proggen mußten, hat ers bestimmt nicht überlebt. ;)

Grüße


[ - Answer - Quote - Direct link - ]

2004-03-23, 23:25 h

Ralf27
Posts: 2779
User
Zitat:
Original von obw:
Zitat:
Original von thomas:
Wie wär's mit

#define array(x) array[x]
#define varptr(x) &(x)

p = varptr(array(0));

Frei nach dem Motto "wie mache ich aus einem C-Compiler einen Basic-Compiler" :-)


Argl! Das erinnert mich an die Geschichte von dem Pascal-Programmierer, der mit C angefangen hat und erst mal

code:
#define BEGIN {
#define END }


in seine Programme schrieb. Ob er das überlebt hat, ist mir nicht bekannt. ;)

OBW


Wenn ich das richtig verstanden habe könnte man ja auch so ganz einfach C in Basic umwandeln und dann mit Basic C proggen. :)

(sollte ein Scherz sein. Mir ist klar das das Humbug ist, bzw. nicht möglich. Aber ich wußte auch nicht das man sowas in C definieren kann. Irgendwie interesant. :) )

--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]

2004-03-25, 18:16 h

Holger
Posts: 8116
User
Zitat:
Original von Ralf27:
Aber ich wußte auch nicht das man sowas in C definieren kann. Irgendwie interesant. :)

Es handelt sich dabei nicht wirklich um Definitionen im Sinne der Sprache C, sondern eher um Text-Makros. Das muß man dabei ständig im Hinterkopf behalten, weshalb man sie besser möglichst sparsam einsetzen sollte.
Beispiel, typische Anfängerfehler:
code:
#define A 2+2

printf("%dn", A*2);

Und ich habe auch schon die unglaublichsten Fehler im Zusammenhang mit Makros im Code von Leuten gesehen, die keine Anfänger waren. Spätestens, wenn man festellen muß, daß nach der Korrektur des Fehlers irgendwo im n MB großen source-code etwas nicht mehr funktioniert, also etwas bisher nur aus Versehen funktioniert hat, dann wird es spannend :nuke:

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ Dieser Beitrag wurde von Holger am 27.03.2004 editiert. ]

[ - Answer - Quote - Direct link - ]


1 -2- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Optimale Grafikprogrammierung für AGA&CGX [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.