Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

Und dann hab ich noch Stunden damit zugebracht, die libc für Windows zu finden, sodass die Symbole stdout und stderr aufgelöst werden....
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

"The process cannot delete the file 'foo' because it is being used by another process."
Also Process Explorer angeschmissen und er findet auch 2 Prozesse, die auf die Datei zugreifen, dummerweise heißen diese beide <non existent process>
WTF ist das denn? Nicht existente Prozesse greifen einfach auf existente Dateien zu, wesehalb ich diese nicht non-existent machen kann? :shock:
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
antisteo
Establishment
Beiträge: 854
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: Jammer-Thread

Beitrag von antisteo »

kaiserludi hat geschrieben:"The process cannot delete the file 'foo' because it is being used by another process."
Also Process Explorer angeschmissen und er findet auch 2 Prozesse, die auf die Datei zugreifen, dummerweise heißen diese beide <non existent process>
WTF ist das denn? Nicht existente Prozesse greifen einfach auf existente Dateien zu, wesehalb ich diese nicht non-existent machen kann? :shock:
Hmm, irgendwie find ich das Konzept von unlink da cooler.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Aramis »

kaiserludi hat geschrieben: "According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you.
Und der einzige Grund, dass Leute immer noch massenhaft undefinierte Programme schreiben, besteht darin dass bis heute kein C++-Compiler jemals auf diese Idee kam sondern immer nur einfach NICHTS macht. Manchmal fehlt dieser Welt etwas kreative Groesse.
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Clang und GCC sind bekannt dafür, undefiniertes Verhalten in vielen Fällen zwecks Optimierung schlicht aus dem Maschinentext auszuschließen. Verwendest du eine uninitialisierte Variable? Weg mit der Variable und allem, was darauf aufbaut. Dereferenzierst du einen Nullzeiger? Weg mit dem kompletten Funktionsaufruf, in dem das geschieht.

Und Visual C++ hilft dir, beispielsweise die undefinierte Auswertungsreihenfolge von Funktionsparametern zu vermeiden, indem diese im Debug-Modus kreuz und quer durcheinandergewürfelt wird.

Siehe auch Why can't you warn when optimizing based on undefined behavior?.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Um Ihr Telefon mit dem PC zu verbinden, müssen Sie zunächst ein Passwort anlegen. Ein Passwort ist automatisch für sie generiert worden.

Passwort: 123
War 123 nun Zufall? Will ich das wirklich wissen?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Krishty hat geschrieben:War 123 nun Zufall? Will ich das wirklich wissen?
Die Kombination für die U.S. Atombomben war doch auch lange Zeit 00000000. Ich weiß also gar nicht, was du dich so aufregst. Nenn' mir lieber einen plausiblen Grund, warum man seinen PC und sein Telefon nun zusammenbasteln sollte. ;)
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Weil die Söhne räudiger Wüstenhunde kein USB-Kabel mitgeliefert haben und ich den Kram, der auf dem Mobiltelefon gespeichert ist, nicht durchs WWW schicken will. Also wird einmal im Monat für 30 Minuten Bluetooth eingeschaltet.

Unrelated: Auf meinem Eee-PC mit Windows 7 ist die Kernel-Mode-Auslastung immer bei rund 20 %; zweimal pro Sekunde hängt das System für eine Zehntelsekunde (sogar der Mauszeiger). Kein Prozess zeigt auffälliges Verhalten; die Zeit wird schlicht und einfach vom Kernel aufgefressen. Wtf is dis shit. Das ging doch jahrelang beschwerdefrei. Es war der Treiber des WLAN-Adapters, der bei schlechtem Empfang einfach … naja, halt irgendwas gemacht hat. Dass Netzwerktreiber auf meiner Hitliste knapp über dem Mist rangieren, der 2002 mit Digitalkameras auf CD ausgeliefert wurde, hatte ich ja irgendwann schon erwähnt.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Diese total dreckige Matlab-„wir indizieren jetzt alle mal mit 1“-Scheiße geht mir ja so was von auf die Nerven. Matlab hat natürlich einen uint8 Datentyp. Angenommen wir haben ein Array A der Größe 256, und ein genügend großes Array I vom Datentyp uint8. Will man nun folgendes machen

Code: Alles auswählen

A(I(42) + 1)
fliegt man aber sowas von auf die Fresse. Zur Erinnerung: Unter Matlab sind gültige Indizes für A aus dem Bereich 1 bis 256. Ist I(42) jetzt 255, wird auf welches Element zugegriffen? Richtig: A(255). Warum? Weil unter Matlab

Code: Alles auswählen

uint8(255) + 1 = 255
ist. Auf A(256) kann so niemals zugegriffen werden. Hat wieder eine Stunde meines Lebens gekostet. Richtig ist natürlich dann:

Code: Alles auswählen

A(uint16(I(42)) + 1)
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Ja, das tut richtig weh beim lesen...
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

glClear( GL_DEPTH_BUFFER_BIT ) cleart den Tiefenbuffer ... möchte man meinen. Aber nur, wenn DepthWrite enabled ist (logisch ne, ich ruf glClear für den Depth Buffer ja auf, damit ich das von der Depth Mask ignoriert bekomme), sonst wird einfach der Inhalt vom letzten Frame behalten und im Allgemeinen verarbeitet das die eigene Szene zu Garbage. Geil, Danke!
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Ja, dieses System von OGL nach dem Prinzip, setze 20.000 Variablen auf bestimmte Konstanten anstatt einfach einen Funktionsaufruf zu machen und notfalls ein paar Flags zu übergeben wie bei DX, kann einen wahnsinnig machen.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Ne riesige, threadlokale Statemachine eben. Versuch mal mit OpenGL multithreaded auf mehrere Bildschirme zu rendern. Das macht einen richtig wahnsinnig. Die API ist einfach kaputt...
joggel

Re: Jammer-Thread

Beitrag von joggel »

Ich musste heute meine Mandarinen vegschmeisen... weil sie schlecht geworden sind :(
Aber Gelbe Finger hab ich trotzdem ^^
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Du Monster
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joggel

Re: Jammer-Thread

Beitrag von joggel »

Ich weiß.
Es.... es tut mir leid!
joggel

Re: Jammer-Thread

Beitrag von joggel »

Also dieser ganze Polygonmarkierungskram raubt mir den letzten Nerv... :(
Ich mache drei Kreuze im Kalender wenn das so läuft wie es soll!!
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Wieso gibts eigentlich keinen ?= und !?= Operator?
Fände a ?= b; viel eleganter als if(a) a=b; bzw a !?= b; eleganter als if(!a) a=b;
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
TheBenji
Establishment
Beiträge: 129
Registriert: 07.01.2011, 17:59

Re: Jammer-Thread

Beitrag von TheBenji »

Wahrscheinlich weil man beim lesen von "wtf !? = foo;" irgendwie nur denkt WTF!?
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4263
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

a=a?b:a; a=!a?b:a; ?
Allerdings bin ich solchen kryptischen Operatoren inkl. deinem Vorschlag eher feindlich gesonnen :)
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

GCC bietet das doch als Erweiterung an –
a = a ?: b;
Und wenn du das jetzt einfach so im Linux-Kernel sähest, würdest du dich tierisch aufregen, dass du erst nachgucken musst, was es bedeutet.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Chromanoid hat geschrieben:a=a?b:a; a=!a?b:a; ?
Allerdings bin ich solchen kryptischen Operatoren inkl. deinem Vorschlag eher feindlich gesonnen :)
Krishty hat geschrieben:GCC bietet das doch als Erweiterung an –
a = a ?: b;
Und wenn du das jetzt einfach so im Linux-Kernel sähest, würdest du dich tierisch aufregen, dass du erst nachgucken musst, was es bedeutet.
Bei beidem habe ich ja eine ungewollte Zuweisung a=a, wenn a==a. Die optimiert mir zwar ein guter Compiler weg, aber unschön ist es dennoch, spätestens dann, wenn a das Objekt einer Klasse A ist und A::operator=() überladen ist und intern irgendwas Teures macht.
Wenn ?= und !?= übliche Operatoren wären, würde man auch nicht erst nachschauen müssen, was sie bedeuten. Tut man bei != ja auch nicht.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

!= ist aber üblich, weil es in gut einem Drittel aller logischen Operationen vorkommt – if(x) x = foo; ist dagegen aber ein Exot ;)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Krishty hat geschrieben:!= ist aber üblich, weil es in gut einem Drittel aller logischen Operationen vorkommt – if(x) x = foo; ist dagegen aber ein Exot ;)
if(!x) x = foo; kommt aber als Nullpointercheck vor einer Zuweisung, um nicht versehentlich einen schon vorher gesetzten Wert zu überschreiben, gar nicht mal so selten vor, alleine aus Gründen des Memory-Managment, um nicht die einzige Refernez auf allokierten Speicher zu überschreiben.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4263
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

In irgendeiner Sprache mit vielen Operatoren gibt es glaube ich sogar diesen von dir gewünschten. Ich glaube es war Scala.
edit: ah nee hab mich vertan. Das war der "null coalescing operator"... Den gibts in C#.

Wenn du auf Operatoren stehst, kannst du dir ja mal Scala anschauen. Da kann man das glaube ich selbst einbauen. Ein kleiner Vorgeschmack :) http://jim-mcbeath.blogspot.com/2008/12 ... sheet.html
j.klugmann
Establishment
Beiträge: 201
Registriert: 07.07.2010, 13:00
Kontaktdaten:

Re: Jammer-Thread

Beitrag von j.klugmann »

Also in Haskell gibt es keine Operatoren, sondern nur Funktionen. Allerdings ist Haskell komplett Unicode kompatibel und die Namen der Funktionen können alle Zeichen aus den Unicode-Standard beinhalten.
Imaging-Software und bald auch Middleware: http://fd-imaging.com
Benutzeravatar
Krishty
Establishment
Beiträge: 8268
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

kaiserludi hat geschrieben:if(!x) x = foo; kommt aber als Nullpointercheck vor einer Zuweisung, um nicht versehentlich einen schon vorher gesetzten Wert zu überschreiben, gar nicht mal so selten vor, alleine aus Gründen des Memory-Managment, um nicht die einzige Refernez auf allokierten Speicher zu überschreiben.
Na und? Das es vorkommt ist doch kein Grund, es als Operator zu implementieren.

Eine Sprache hat einen möglichst minimalen Satz an Operatoren und Schlüsselwörtern zur Verfügung zu stellen, mit der dann möglichst mächtige und aussagekräftige Programme gebaut werden können. (Mir persönlich ist != schon hart an der Grenze zum Überfluss, weil es als !(x == y) ausgedrückt werden könnte.)

Darum wäre der einzig zulässige Grund für so einen Operator, dass es sich mit anderen Mitteln der Sprache (z.B. als Template-Funktion mit const- und Rvalue-Referenzen, …) nicht verständlich ausdrücken lässt. Ich sehe aber keinen Grund, warum es sich nicht als assignIf(x, foo); implementieren und wegkapseln ließe.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Krishty hat geschrieben: Eine Sprache hat einen möglichst minimalen Satz an Operatoren und Schlüsselwörtern zur Verfügung zu stellen, mit der dann möglichst mächtige und aussagekräftige Programme gebaut werden können. (Mir persönlich ist != schon hart an der Grenze zum Überfluss, weil es als !(x == y) ausgedrückt werden könnte.)
Du bist also einer, dem <,== und ! reichen würde und der am liebsten !=, <=, >, >= nur per Kombination der ersten dreien sähe? *scnr*
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Artificial Mind hat geschrieben:
Krishty hat geschrieben: Eine Sprache hat einen möglichst minimalen Satz an Operatoren und Schlüsselwörtern zur Verfügung zu stellen, mit der dann möglichst mächtige und aussagekräftige Programme gebaut werden können. (Mir persönlich ist != schon hart an der Grenze zum Überfluss, weil es als !(x == y) ausgedrückt werden könnte.)
Du bist also einer, dem <,== und ! reichen würde und der am liebsten !=, <=, >, >= nur per Kombination der ersten dreien sähe? *scnr*
++, --, +=, -=, *= und /= braucht dann natürlich auch niemand, ja selsbt * lässt sich doch als multiply(a, b){c = a; for(int i; i<b; i=i+1)c=c+a; return c;} wegkapseln und - ist auch überflüssig, denn a-b lässt sich ja auch als a+(-b) ausdrücken. Wobei: Wer rbaucht schon Plus? Gibt doch Binäroperatoren, können doch einfach die bits in eienr Methode entsprechend selbst zurecht drehen!
Es stellt sich antürlich die Frage, ob es nicht besser ist, statt a-b durch a+(-)b weg zu rationalisieren, nicht besser ist, lieber a+b durch a-(-b) zu ersetzen. Genauso sollte man vielleicht besser !(x != y) schreiben statt x==y.Das impliziete auf true prüfen aller if(a) könnte man auch einfach durch if(!!a) realisiseren :D
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Antworten