Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Code-Spielereien

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 11.08.2009, 21:57    Titel: Code-Spielereien Antworten mit Zitat

Ich hab grad aus langeweile mit der LinkedList von TPM rumgespielt.. dabei is ein recht kranker code zustande gekommen. Vielleicht kennt ihr das ja auch.. man spielt rum und macht irgentwelchen sinnlosen kram der nett anzuschauen ist (vom code oder ergebnis).

hier meiner:

Code:
#define LL_DEF_ThreadSafe
#include once "linkedlist.bi"

dim foo as linkedlist
dim leute as linkedlist
dim as integer romeo = 1, julia = 2

type mensch
   v_herz as linkedlist
   v_name as string
end type

'erschaffung der beiden menschen:
cast(mensch ptr,leute.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata)->v_name = "romeo"
cast(mensch ptr,leute.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata)->v_name ="julia"

? cast(mensch ptr, leute.item(romeo).anydata)->v_name
? cast(mensch ptr, leute.item(julia).anydata)->v_name

cast(mensch ptr, leute.item(romeo).anydata)->v_herz.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata = cast(mensch ptr, leute.item(julia).anydata)
cast(mensch ptr, leute.item(julia).anydata)->v_herz.add(cast(mensch ptr, callocate(sizeof(mensch)))).anydata = cast(mensch ptr, leute.item(romeo).anydata)


? "_"
? "Romeo liebt: "& cast(mensch ptr, cast(mensch ptr, leute.item(romeo).anydata)->v_herz.item(1).anydata)->v_name
? "Julia liebt: "& cast(mensch ptr, cast(mensch ptr, leute.item(julia).anydata)->v_herz.item(1).anydata)->v_name


/Edit: geht noch ein bischen kranker:
Einfach die letzte zeile hiermit ersetzen:
Code:
? "Romeos Geliebte liebt:: "& cast(mensch ptr, cast(mensch ptr, cast(mensch ptr, leute.item(romeo).anydata)->v_herz.item(1).anydata)->_
v_herz.item(1).anydata)->v_name


P.S.: Pointer sind echt lustig xD
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 11.08.2009, 22:29    Titel: Antworten mit Zitat

Pointer sind auch mal schnell tödlich, insbesondere wenn du solchen Code auch in Produktiv-Projekten einsetzt. Zunge rausstrecken
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Manuel



Anmeldungsdatum: 23.10.2004
Beiträge: 1271
Wohnort: Bayern

BeitragVerfasst am: 11.08.2009, 22:37    Titel: Antworten mit Zitat

Als ich mit "Pointern" anfing, wusste ich garnicht, dass man damit soviel machen kann - sowohl von der Funktionalität als auch vom "Überraschungseffekt"... Am besten ist, wenn man die Pointer irgendwie so anordnet, dass daraus eine interne Programmschleife entsteht, obwohl das überhaupt nicht beabsichtigt ist (also Pointer zeigt auf ausführbaren Speicher, der wiederum denselben Pointerverweis aufruft...). Die Ergebnisse sind krank, alles schon selbst erlebt durchgeknallt

Ich kann mich noch gut an einen Satz erinnern, als mir mit C++ das "Pointern" beigebracht wurde. Auszug aus einem Buch:
Zitat:
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off
Dem stimme ich vollständig zu durchgeknallt
_________________
DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 14.08.2009, 11:51    Titel: Antworten mit Zitat

Das Pointer gefährlich sind beweisen die Null-Pointer-Root-Exploits im Linux-Kernel, die in letzter zeit bekannt geworden sind. Man müsste nen code basteln, der anderen code auf "bedenkliche" pointer untersuchen kann... also vor dem compilen. Würde den Linux-Jungs (und mädels) ordentlich arbeit ersparen.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz