Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
19.05.2002, 17:29
[RMen]OneStone



Damits auch jeder sieht!

Bekanntlich kann man ja in purem C keine boolschen Variablen verwenden, einige umgehen das Problem mit folgendem:Quellcode:#define bool char
#define true 1
#define false 0

Einige Verschwender (schlimm! ;) gehen sogar noch weiter und setzten bool und int gleich, was eine Verschwendung von 31 bits ist, da man für einen bool ja nur einen Bit braucht.
Da bekanntlich der kleinste Datentyp in C ein char ist und damit 8 bit groß, lässt sich die Verschwendung von mindestens 7 Bits auf den ersten Blick leider nicht vermeiden. Nach längerem Nachdenken (ca 0,31 sek.) kam mir jedoch die Idee, 8 bools in einen char zu packen. Dabei kam folgendes raus:
Quellcode:#define BOOL_PACK char
#define GET_BOOL(a, b) (a & 0x01 << (b - 1))
#define SET_BOOL(a, b) (a = a | 0x01 << (b - 1))
#define DEL_BOOL(a, b) (a = a  & ~(0x01 << (b - 1)))

Ein kleines Beispielprogramm dazu sieht folgendermassen aus:Quellcode:#include <stdlib.h>
#include <stdio.h>

#define BOOL_PACK char
#define GET_BOOL(a, b) (a & 0x01 << (b - 1))
#define SET_BOOL(a, b) (a = a | 0x01 << (b - 1))
#define DEL_BOOL(a, b) (a = a  & ~(0x01 << (b - 1)))

void main()
{
char i;
BOOL_PACK bpMyPack;
memset(&bpMyPack, 0, 8);

SET_BOOL(bpMyPack, 1);
SET_BOOL(bpMyPack, 3);
SET_BOOL(bpMyPack, 8);
DEL_BOOL(bpMyPack, 1);

for(i = 1; i <= 8; i++)
{
  if(GET_BOOL(bpMyPack, i))
   printf("true\n");
  else
   printf("false\n");
}
}

Die Ausgabe sieht dann folgendermassen aus:
false
false
true
false
false
false
false
true

Die Syntax aller drei Makros ist folgende:
1. BOOL_PACK mit dem gearbeitet werden soll
2. Index des bools mit dem gearbeitet werden soll, von 1 bis 8

GET_BOOL liest aus (true oder false, 1 oder 0)
SET_BOOL setzt auf true (1)
DEL_BOOL setzt auf false (2)

Alles Public Domain! Reisst euch drum! Verwendet es heimlich und beschimpft mich! Macht damit was ihr wollt, nur bitte verschiebt das in die Lernressourcen!

MfG, Georg

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 19.05.2002 um 17:30 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
19.05.2002, 18:05
KillerDoc



Is zwar nett aber irgendwie sinnlos :)
Auf 7 Bits kann man glaub ich getrost verzichten...
Zumindest hält sich der Verlust von 7 bits in etwas die Waage mit dem Geschwindigkeitsverlust durch deine ganzen and ors xors und bitshifts..:)

Davon abgesehn is ein normales bool auch ein byte groß, da es gar ned kleiner geht - und da scheißt sich auch niemand was drum ob da jetzt 7 bits verlorgen gehen oder ned...

Naja aber wenns wirklich speicherkritisch ist was heute sicher eher selten ist is es sicher interessant das so zu verwenden, ist aber sicher kein novum von dir... :)

--

lazy sunday afternooon
i got no mind to worry
i close my eyes and drift away....

zum Seitenanfang zum Seitenende Profil || Suche
002
19.05.2002, 18:10
Retro



bei speicherkritischen anwendungen (zb. mikrocontroller) wird mit den vars sowieso anders umgegangen... die werden direkt ins RAM geschrieben und bei jedem durchlaufzyklus überschrieben...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
003
19.05.2002, 18:15
[RMen]OneStone



Da strengt man sich mal an, und ihr! =)
Das ich die Idee nicht als erster hatte, war mir klar, aber ich hab mir das selber, ohne fremde Ansätze ausgedacht.

[edit]
Ausserdem kann man damit Super Flags aus den Headern von versch. Dateien auslenen =)
[/edit]

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 19.05.2002 um 18:16 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
19.05.2002, 18:25
Retro



mkay, haste ja fein gemacht... *keksgeb* =)

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
005
19.05.2002, 18:37
blair



ich mach sowas seit jahren... heck, das macht jeder der in hl (oder sonst wo)mal mit flags gearbeitet hat...

aber manche leute brauchen die publicity halt, wie andere das koffein

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
006
19.05.2002, 19:56
[RMen]OneStone



@ Blair: Manche müssen auch immer alles in den Dreck ziehen. ;)
Ne, aber mal im Ernst. Was ist so schlimm daran, dass ich was "publiziere", was es schon gibt? Vielleicht ist das ja für jemanden neu, und er lernt es so. Das war doch nur für die Community gemeint, wenn ich Publicity will, stell' ich mich nackt in die Fussgängerzone und schreie "Wohahahahumalala" und wedel wild mit den Armen. Ich bin es echt satt, dass icj, immer wenn ich was nettes machen will, nen Arschtritt krieg. Warum postest du nicht in Kriz's Interpreter Thread rein "Was soll das, es gibt doch schon OpenSource Interpreter?" Ich find' das langsam echt nervig. Aber du bist ja ein Mega l337 H4X0r!

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
007
19.05.2002, 20:11
blair



Ich finds echt süß, das du deinen snap da oben mit nem interpreter vergleichst...

ich mein, jetzt mal ehrlich sowas steht in den meißten büchern drinnen, und selbst beim dhcc gibts sowas (wenn auch in weniger ausgereifter form)...

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
008
19.05.2002, 20:19
Megge



da macht einer ma was (auch wenn vielleicht unnützes) für die öffentlichkeit und will anderen zeigen wie was geht, wird er gleich von den neunmal klugen zusammengeschissen. Er hat es doch nur gut gemeint ?! was solln der scheiss Blair ? nur weil du schon 2-3 jahre hier bist, meinste bist der chef ? du gehst mir auch langsam auf die eier..

--

zum Seitenanfang zum Seitenende Profil || Suche
009
19.05.2002, 20:51
TheTinySteini



Bis auf die Tatsache, dass hier:
Quellcode:memset(&bpMyPack, 0, 8);
ein handfester Fehler drin ist (du musst 8 BITS, nicht 8 BYTES auf 0 setzen!), isses gar net schlecht. Ich würde mir aber den Aufwand mit:
1. den Makros sparen - #defines für die einzelnen Bits und dann höchstens ein Makro wie FBitSet von HL, das checkt ob ein Bit in einer bestimmten Variable gesetzt ist. Ähnlich halt wie im Flags-Tutorial von DHCC (da aber ohne Makro, nur mit #defines).
2. dem b - 1 sparen. Es ist gängige Praxis in C/C++, mit 0 anzufangen, also kann man auch gleich 0 schreiben, statt 1 und dann b-1.

Ahja, einen Vorschlag noch, mach ein TOGGLE_BOOL-Makro. Einfach 'n xor. Das ändert den Status des Flags.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
010
19.05.2002, 22:32
[RMen]OneStone



@ TTS: Sorry, hab mit den 8 bytes geschlafen =)
@ Blair: Bitte kommentier nix mehr in diesem Thread, O.K.?

Hier ne geuppdte Version nach TTS' Vorschlägen.

Quellcode:#define BOOL_PACK char
#define GET_BOOL(a, b) (a & 0x01 << b)
#define SET_BOOL(a, b) (a = a | 0x01 << b)
#define DEL_BOOL(a, b) (a = a  & ~(0x01 << b))
#define TGL_BOOL(a, b) (a = a | ^ (a & (0x01 << b)) // So??? Man kann ja nicht das ganze a XORen, sonst gehen ja die anderen verloren...

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
011
19.05.2002, 23:54
Tron



baeh! #define! uber-evil!
leute, gewoehnt euch das blos net an!
inline-funktionen oder am besten gleich 'ne bit-field klasse mit variabler laenge!

ps: dein TGL_BOOL is grottenfalsch, sowohl syntaktisch als auch semantisch
pps: niemals true und false selbst definieren, das sind schluesselwoerter in c++/c99
ppps: benutz &= und |= statt a = a & bzw. a = a |
pppps: hat zwar TTS schon gesagt, aber echte programmierer fangen bei 0 an zu zaehlen
ppppps: um typen zu redeklarieren gibt es typedef
pppppps: variablen im so eng wie moeglichen geltungsbereich deklarieren, also for(char i = 1; i <= 8; i++) {} (nur c++/c99, da in orginal c nicht erlaubt)
ppppppps: fuer schleifenvariablen immer den prozessor nativen datentyp (int) verwenden, da mit anderen eventuell langsamer gearbeitet wird
pppppppps: immer praefixinkrement/dekrement verwenden
ppppppppps: programmierstil! zwischen if/for und () immer ein whitespace, da es schluesselwoerter sind und keine funktionen

<edit>
pppppppppps: anzunehmen char sei 8 bit lang und int 32 ist nicht erlaubt, da die genauen laengen im ansi-c/c99/c++ standard NICHT festgelegt sind, int kann durchaus 36 bit lang sein (was es auf einigen IBM mainframes z.b. ist) und char kann genauso lang wie int sein
</edit>

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett


Dieser Beitrag wurde am 20.05.2002 um 00:02 von Tron bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
20.05.2002, 00:01
Archangel



ppppppppps: programmierstil! zwischen if/for und () immer ein whitespace, da es schluesselwoerter sind und keine funktionen

das bleibt doch wohl ihm überlassen, jeder hat seinen eigenen programmierstil...

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
013
20.05.2002, 00:36
[RMen]OneStone



@ Tron: 1. Präfix-Increment/-Decrement wird automatisch optimiert, bei fast allen Compilern
2. Mit TGL_BOOL War ich mir nicht sicher, hab ich dahinter geschrieben
3. Mein Programmierstil ist meine Sache
4. Viele gehen davon aus das ein in 32 bytes lang ist etc., das da oben war nur ein Beispiel, wenn du das auf deinem Mainframe laufen lassen willst, musst du das selber laufen lassen
5. Betrf. Punkt 2 & 6: Hier geht es um C, du kannst deine tolle for-Schleife ja mal in C kompilieren!
6. ob ich &= oder = a & benutzen, ist egal und gehört zu meinem Stil.
7. Das habe ich modifiziert, war nur um das mit 1. Bit usw. besser zu verstehen können
8. Makros sind hier GENAU das richtige, sie erzeugen hier bei den meisten Compilern wohl am wenigsten Overhead
9. Wenn du dir ne Klasse machen willst, bitte! Das hier sollte nur das Prinzip zeigen.

Hattest du mal wieder schlechte Laune oder hat dir heute jemand ins Hirn geschissen?

7 Punkte ließen sich ausräumen (siehe 1., 3., 4., 6., 7., 8. in meinem Post)
1 Punkt ist Sache der Platform und Umsetzung
1 Punkt war richtig, ich hab' jedoch oben deutlich gemacht, dass ich es nicht genau wusste

Traurige Billanz, was von deinem tollem Flame übrig geblieben ist, oder?

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
014
20.05.2002, 01:30
KillerDoc



Irgendwie kotzt mich das Forum langsam wieder an...

Seit OneStone einmal versucht hat Kritz bei einem Problem zu helfen, und sich dieser dadurch angepisst fühlte (wieso auch immer...) und begann auf OneStone rumzuhacken und rumzuflamen kann er im prinzip schreiben was er will, er wird doch wieder angemacht, und jeder noch so lächerlich kleine "fehler" wird hervorgehoben als würde davon die welt untergehen... ich mein die Hälfte von Tron's ps's sind doch nur lächerlich... (abstand zwischen for und () lol klar... variablen im for deklarieren.. WTF soll das bei dem winz Beispielprogramm für eine rolle spielen???)... Irgendwie kommt mir das hier alles so vor wie in einer Mädchen Clique in der Hauptschule..
Ich kann mich erinnern das es hier im Forum schon mal so zugegangen ist.. war vielleicht in etwas größerem ausmaß, dafür gabs damals noch keine Moderatoren, Aber was bringen mod's in so einem board in dem eine derartige "Vetternwirtschaft" herrscht, wo sich sowieso niemand was gegen die leute zu sagen wagt die hier einen gewissen namen haben, im Grunde jetzt aber nicht mehr viel anderes machen als Fehler anderer zu suchen, und sich im chat darüber abzuhauen, und zu planen wie der nächste Flame aussieht.... Ich mein ich meine erste Reaktion auf OneStones code hier war zwar auch ned unbedingt als positiv anzusehen, jedoch schaue ich sicher nicht auf den Namen um zu entscheiden ob ich ein kommentar dazu abgebe.. Im Gegensatz zu einigen anderen die ja scheinbar nur darauf warten das zum Beispiel OneStone wieder mal was posted, um ihn dann wieder niederzumachen...

Whatever.. n8

Ach ja.. Falls mich einer der mod's bannen wollte weil ich ja ned so bekannt bin hier, und es dennoch wage hier etwas provokantes zu posten ... - nP damit ;)

--

lazy sunday afternooon
i got no mind to worry
i close my eyes and drift away....

zum Seitenanfang zum Seitenende Profil || Suche
015
20.05.2002, 01:50
Kriz



Wouwouwou, komm mal wieder unter von deinem hohen Ast, mon ami!

OneStone hat hier im Prinzip bis auf seine boole'schen Gedankengänge nur Käse abgeliefert und bevor das jemand noch für bare Münze nimmt, wird dem gleich ein Riegel vorgeschoben! Und ich hacke auf OneStone nicht rum, weil mir das Spaß macht oder ich Langeweile habe! Wenn ich auf jemanden rumhacken will, dann sieht das ganz anders aus. Und glaube mir, ich kann echt eklig werden. Nur habe ich das auf ThW nur einmal bisher gezeigt (und das ist schon lange her) und derjenige war auch ruckzuck wieder von selber gegangen.

Als Ursache zitiere ich nur ein Wort aus Gumbles Wortschatz: Skills...

Und wenn hier jemand mit Skills prahlen will, die er nicht besitzt, dann fällt das eben mal in die Kategorie Z wie Zurechtweisung, abgestuft in mannigfaltige Härtegrade.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
016
20.05.2002, 02:13
[PE]Spinator



Ich stimme KillerDoc zu... Ich hätte es nicht gerade so ausgedrückt, aber was er da schildert ist mir auch schon aufgefallen. Ich bin schon sehr lange member (eher lesender denn schreibender), und hab schon so einiges gesehen, was KillerDoc bestätigt.
@OneStone: *auch kecksgeb* ;)

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
017
20.05.2002, 10:41
Tron



Zitat:
[RMen]OneStone postete
@ Tron: 1. Präfix-Increment/-Decrement wird automatisch optimiert, bei fast allen Compilern

genau das ist der punkt FAST, zudem sollte man sich das genrell angewoehnen, ich sage nur stl-iteratoren.

Zitat:
2. Mit TGL_BOOL War ich mir nicht sicher, hab ich dahinter geschrieben

wenn man von grundlagen keine ahnung hat, sollte man darueber kein tut machen.

Zitat:
3. Mein Programmierstil ist meine Sache

akzeptiert; ich gehe vom weitverbreitesten aus, was ich schon in mehreren buechern, tuts, referenzen,... gelesen habe.

Zitat:
4. Viele gehen davon aus das ein in 32 bytes lang ist etc., das da oben war nur ein Beispiel, wenn du das auf deinem Mainframe laufen lassen willst, musst du das selber laufen lassen

viele c compiler erzeugen immernoch 16bit code, da ist int 16bit breit, nur um ein haeufigeres beispiel zu nennen.

Zitat:
5. Betrf. Punkt 2 & 6: Hier geht es um C, du kannst deine tolle for-Schleife ja mal in C kompilieren!

c99 ist zu dir nochnicht durchgedrungen?

Zitat:
6. ob ich &= oder = a & benutzen, ist egal und gehört zu meinem Stil.

du bist doch hier der 'blos-kein-overhead-freak', x = x & y hat auf nicht allzu schlauen compilern mehr overhead als x &= y

Zitat:
7. Das habe ich modifiziert, war nur um das mit 1. Bit usw. besser zu verstehen können

in c wird immer von 0 aus gezaehlt, damit stiftest du nur verwirrung

Zitat:
8. Makros sind hier GENAU das richtige, sie erzeugen hier bei den meisten Compilern wohl am wenigsten Overhead

das ist bloedsinn, makros fuehren nur zur uebelsten fehlern, was ist wenn in einer headerdatei eines deiner makros redefiniert wird? keine kompilierfehler, nix, es tut nur einfach nicht was es soll. (oder umgekehrt, dein makro schrottet andere)
inline-funktionen waeren eine saubere loesung gewesen und erzeugen kein overhead. (auch wenn du bis heute das gegenteil behauptest)
#define war, ist und bleibt fuer solche sachen uber-ev!l

Zitat:
9. Wenn du dir ne Klasse machen willst, bitte! Das hier sollte nur das Prinzip zeigen.

wenn man das prinzip eklaert, sollte man das sauber tun. eine klasse habe ich ueberhaupt nicht verlange, aber einen sauberen programmierstil (und ich rede hier NICHT von formatierung)

Zitat:
Hattest du mal wieder schlechte Laune oder hat dir heute jemand ins Hirn geschissen?

auf so ein niveau lass ich mich nicht herab.

Zitat:
7 Punkte ließen sich ausräumen (siehe 1., 3., 4., 6., 7., 8. in meinem Post)
1 Punkt ist Sache der Platform und Umsetzung
1 Punkt war richtig, ich hab' jedoch oben deutlich gemacht, dass ich es nicht genau wusste

Traurige Billanz, was von deinem tollem Flame übrig geblieben ist, oder?[/i]


wer zaehlen kann ist klar im vorteil: 1., 3., 4., 6., 7., 8. sind meines wissens nur 6.
und deine gegen"argumentation" war mehr als schwach.
wenn ich flame sieht das anders.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
018
20.05.2002, 10:43
blair



tron, dein stil gefällt mir :D
ach und onestone... von DIR lass ich mir nich verbieten wo ich poste...

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
019
20.05.2002, 11:26
Kriz



Zumindest in C ist x &= y schneller als x = x & y, da C kein Operatoroverloading kennt und daher mathematische Terme direkt vom Compiler umgesetzt werden, während in C++ standardmäßig für die Berechnung von x &= y erstmal zwei globale Funktionen aufgerufen werden:

Quellcode:int ::operator & (int a, int b)
{
    return (a & b);
}

Quellcode:int ::operator &= (int &a, int b)
{
    return (a = a & b);
}

Der Zuweisungsoperator = wird wahrscheinlich direkt übersetzt so wie in C, da eine = Funktion nicht berechenbar wäre:
Quellcode:int ::operator = (int &a, int b)
{
    return (a = b); // ??? - Würde in einer Endlosschleife enden...
}

Ob der C++ die Funktionen noch inline behandelt, weiß ich nicht genau, wäre aber in diesem Fall wohl plausibel.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
020
20.05.2002, 12:27
Tron



Zitat:
Kriz postete
Zumindest in C ist x &= y schneller als x = x & y, da C kein Operatoroverloading kennt und daher mathematische Terme direkt vom Compiler umgesetzt werden, während in C++ standardmäßig für die Berechnung von x &= y erstmal zwei globale Funktionen aufgerufen werden:

hm, ich vermute eher dass es fuer native datentypen bei c++ wie in c auch durch compilermagic geloest wird, aber auch nur ne vermutung, muesste man jetzt z.b. den mingw quellcode durchstoebern um das genauer rauszufinden.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
021
20.05.2002, 13:17
[RMen]OneStone



Ich äußere mich zu diesem Thread jetzt nicht mehr, was nicht heißen soll, dass mir nichts mehr einfallen würde. Ich hab' keinen Bock mich mit zwei Menschen zu streiten.
Betrf. Moderatoren: Ihr könntet wenigstens mal eure Meinung äußern!

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 20.05.2002 um 13:17 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
022
20.05.2002, 14:12
Onkel Dittmeyer



Hmm mal ne Frage (vielleicht bin ich zu blöd aber mit diesem Stuff wie memset kenn ich mich noch net so sehr aus):
In welcher Headder Datei ist die Funktion eigentlich deklariert?
Ich hab folgendes Problem bei der Sache:
Wenn man halt die funktion bis dahin schreib "memset(" kommt ja immer diese Popup Hilfe bei MSVC++ wo die Überladungen und co. drinstehen. Das ist ja schonmal nen Zeichen dafür dass ihm die Funktion bekannt ist. Wenn ich jetzt Compilen will sagt er aber undeclared identifier "memset" !?

--


Dieser Beitrag wurde am 20.05.2002 um 14:12 von [dP]ThEpOpE bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
023
20.05.2002, 14:26
[RMen]OneStone



memory.h / string.h

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/


Dieser Beitrag wurde am 20.05.2002 um 14:27 von [RMen]OneStone bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
024
20.05.2002, 20:13
Damocles



Mädels, den Ball flachzuhalten führt öfter zum Erfolg.

--

Damocles

Die Hölle wird von jeder Generation in der Fantasie neu gestaltet. Ihr Gebiet wird nach Absurditäten abgesucht und in frischer Form neu erbaut; ihre Schrecken werden unter die Lupe genommen und, wenn nötig, neu erfunden, um dem jeweiligen neuen Klima der Grausamkeit gerecht zu werden; ihre Architektur wird abgewandelt, damit sie dem Auge der modernen Verdammten etwas zu bieten hat.

zum Seitenanfang zum Seitenende Profil || Suche