Jammer-Thread
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Man kommt ja doch nicht drumrum: Debug Kernels mit Farbkodierung. Grün heißt korrekt. Nichts geht. Jetzt beginnt der Spaß. Zurück in den Jungle von Resource Bindings.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Jammer-Thread
Dürfte ich eigentlich fragen, ob du die GUI (auch irgendwo auf einem älteren Screenshot besser zu sehen; hier nur in der unteren linken Ecke zu sehen) selbst programmiert hast, oder irgendeine Library dafür benutzt hast?
Re: Jammer-Thread
Dürfte http://www.antisphere.com/Wiki/tools:anttweakbar sein. Hab ich auch damals für den Aufbaustrategiebeitrag vom dritten Zfx-Action benutzt.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Ja, Jonathan hats erkannt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Jammer-Thread
Warum scheißt einem C++ in die Suppe, wenn man es gerade am wenigsten gebrauchen kann? (Ich frage mich eher, warum ich jetzt erst auf dieses Problem stoße.)
Achja, unique_ptr<void> geht natürlich auch nicht, aber das hätte ich auch nicht erwartet, sondern wäre vom Gegenteil überrascht gewesen. Ist auch besser so.
Achja, unique_ptr<void> geht natürlich auch nicht, aber das hätte ich auch nicht erwartet, sondern wäre vom Gegenteil überrascht gewesen. Ist auch besser so.
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
C++/CLR um WPF Applikationen zu schreiben, die auch mal die Windows.h brauchen.
compiled nicht, da es ein
in der Windows.h gibt.
Ja, man kann es undefinen. Toll ist das trotzdem nicht.
Code: Alles auswählen
mWindow->FindResource("something");
Code: Alles auswählen
#define FindResource FindResourceW
Ja, man kann es undefinen. Toll ist das trotzdem nicht.
Re: Jammer-Thread
Also ich kenn nix schlimmeres, als die windows.h. Wenn auf einmal dein Vectorklassen-min-Template nicht mehr kompiliert wegen einer komischen Meldung die du nicht verstehst, ist das echt so ziemlich das nervigste, was es gibt. Kann man sich drüber aufregen, nützt aber wohl nichts. Wenn man den Fehler einmal kennt, kann man ihn ja auch recht schnell beheben.Artificial Mind hat geschrieben: Ja, man kann es undefinen. Toll ist das trotzdem nicht.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Freie Funktionen waren mit dem Rasterizer außerordentlich hässlich, darum habe ich das Folgende gemacht, was ich einfach mal Krishty's static single-overridden virtual method dispatching-Muster nenne:CodingCat hat geschrieben:Ja, es sei denn, du begnügst dich mit Forward Declarations der Rasterizer-Implementierungen und freien Funktions-Templates. :|
// Rasterizer.hpp
class Rasterizer {
public:
void draw(…); // NICHT virtual
};
// Rasterizer.cpp
// Leer!
// Model.cpp
void drawModel(Rasterizer & r) {
r.draw(…);
…
}
// D3D9Rasterizer.hpp
class D3D9Rasterizer : public Rasterizer {
public:
void draw(…); // immernoch nicht virtual
};
// D3D9Rasterizer.cpp
void D3D9Rasterizer::draw(…) {
// Mein Sorgenkind
}
// Die Magie!
void Rasterizer::draw(…) {
return static_cast<D3D9Rasterizer *>(this)->draw(…); // this is gonna be so inlined
}
Damit habe ich ca. 6 % Leistungsplus gegenüber virtuellen Methoden einkassiert* und abgesehen davon, dass die Implementierung der Basismethoden im Quelltext zur Implementierung der endgültigen Methoden gewandert ist, hat sich nichts geändert. Katzeschööööön!
————
* Meine Maschine ist seit ein paar Tagen ausgelastet, darum rauschen die Messungen sehr. Jedenfalls zwischen 5 und 9 %.
Zuletzt geändert von Krishty am 20.05.2012, 11:02, insgesamt 5-mal geändert.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Darum benutze ich nur noch selber verfasste Windows-Header.Jonathan hat geschrieben:Also ich kenn nix schlimmeres, als die windows.h. Wenn auf einmal dein Vectorklassen-min-Template nicht mehr kompiliert wegen einer komischen Meldung die du nicht verstehst, ist das echt so ziemlich das nervigste, was es gibt. Kann man sich drüber aufregen, nützt aber wohl nichts. Wenn man den Fehler einmal kennt, kann man ihn ja auch recht schnell beheben.Artificial Mind hat geschrieben: Ja, man kann es undefinen. Toll ist das trotzdem nicht.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
exakt: #define NOMINMAX ;)Jonathan hat geschrieben:Also ich kenn nix schlimmeres, als die windows.h. Wenn auf einmal dein Vectorklassen-min-Template nicht mehr kompiliert wegen einer komischen Meldung die du nicht verstehst, ist das echt so ziemlich das nervigste, was es gibt. Kann man sich drüber aufregen, nützt aber wohl nichts. Wenn man den Fehler einmal kennt, kann man ihn ja auch recht schnell beheben.Artificial Mind hat geschrieben: Ja, man kann es undefinen. Toll ist das trotzdem nicht.
Für das Problem dass viele "Funktionen" eigentlich Makros sind, gibts aber leider keine Lösung...
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Ja, dieses Muster nutze ich auch für einige Rendering-bezogene Klassen.Krishty hat geschrieben:Freie Funktionen waren mit dem Rasterizer außerordentlich hässlich, darum habe ich das Folgende gemacht, was ich einfach mal Krishty's static single-overridden virtual method dispatching-Muster nenne: [...]
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Re: Jammer-Thread
Ohne jemanden zu nahe treten zu wollen, aber: Assimp Materialien sind eine Qual. Bei den ganzen Makros und Funktionsparametern die Kombination zu finden, die den Wert liefert/setzt den man haben will, so dass es kompiliert und nicht abstürzt ist echt derbe fummelig. Und die Dokumentation ist auch nur sehr begrenzt hilfreich, weil nur Makros aufgelistet werden (vor die man noch einen 'versteckten' Präfix packen muss), aber nicht, wie die jetzt genau auf die generellen get/set Funktionen passen. Und was "The MATKEY_UVWSRC property is only present if the source format doesn't specify an explicit mapping from textures to UV channels." heißen soll, versteh ich auch nicht (der Attribut, welche Textur welchen Uv-Channel benutzt ist nur vorhanden, wenn dies in der Modelldatei nicht stand? Häh?)
Ich weiß, das Zeug ist alt und C-Kompatibel, aber für mich ist halt 'Materialwert abfragen', etwas, das man mit nachschlagen innerhalb von 30 Sekunden hinkriegen können sollte.
Ich weiß, das Zeug ist alt und C-Kompatibel, aber für mich ist halt 'Materialwert abfragen', etwas, das man mit nachschlagen innerhalb von 30 Sekunden hinkriegen können sollte.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Jammer-Thread
Wie wäre es mit
Aber das ändert ja an deiner dargelegten, grundsätzlichen Problematik nichts. ;)Eigene Übersetzung hat geschrieben:Die MATKEY_UVWSRC-Eigenschaft ist nur vorhanden, falls das Quellformat keine explizite Abbildung von Texturen zu UV-Kanälen vorgibt.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Jammer-Thread
Ich empfinde das Design der Material-Strukturen und Methoden auch als unglücklich. Mir fallen aber als Alternativen auch nur Ansätze ein, die andere Probleme hätten, und ich habe nicht die Zeit, um alternative Ideen umzusetzen. Zumal wir in Anbetracht der inzwischen beachtlichen Nutzeranzahl auch für Abwärtskompatibilitär sorgen müssten, wenn wir da was neues erfinden.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Jammer-Thread
Versteh ich immer noch nicht. Ich will doch bloß wissen, welche Textur welchen Uv-Channel benutzt. Was genau ist da mit Abbildung gemeint? Entweder man hat UV-Maps, oder generiert die halt, aber das wird doch durch MATKEY_MAPPING gesteuert?eXile hat geschrieben:Wie wäre es mitAber das ändert ja an deiner dargelegten, grundsätzlichen Problematik nichts. ;)Eigene Übersetzung hat geschrieben:Die MATKEY_UVWSRC-Eigenschaft ist nur vorhanden, falls das Quellformat keine explizite Abbildung von Texturen zu UV-Kanälen vorgibt.
Zum Thema neues erfinden: Vielleicht wäre es ja möglich, neue Get/Set Methoden dazuzupacken, die ohne diese seltsamen Makros und so auskommen. Man könnte die alten immernoch benutzen, aber eben auch die schönen, neuen.
Jetzt zum Beispiel hab ich:
Code: Alles auswählen
aiMaterial->Get(AI_MATKEY_UVWSRC(0, DiffuseId), &UvChannel, 1);
und der Fehler sagt mir erstmal rein gar nichts. Und weder ein Blick in die Doku über das Makro und die Get-Funktion sagt mir, was da jetzt falsch ist, weil die Get-Parameter so generisch sind, dass ich keine Ahnung hab, wofür sie eigentlich sind, und das Makro nur sagt, wofür es gut ist, aber nicht, was es eigentlich macht. Und das ganze logisch, Schritt für Schritt durchzudenken fällt echt schwer, wenn man so genervt ist, wie ich jetzt gerade :Derror C2664: 'aiReturn aiMaterial::Get<int>(const char *,unsigned int,unsigned int,int *,unsigned int *) const': Konvertierung des Parameters 5 von 'int' in 'unsigned int *' nicht möglich
Achja: Und dann stellt man fest, dass
Code: Alles auswählen
aiMaterial->Get(AI_MATKEY_UVWSRC(0, DiffuseId), UvChannel);
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- CodingCat
- Establishment
- Beiträge: 1857
- Registriert: 02.03.2009, 21:25
- Wohnort: Student @ KIT
- Kontaktdaten:
Re: Jammer-Thread
Schleifenrümpfe im Pixel Shader werden offenbar grundsätzlich immer vollständig ausgeführt (inkl. Speicherzugriffe?!?), bedingte Nebenwirkungen dabei nur per Flag ausgeschaltet. Da hilft nicht mal ein Early Return im Schleifenrumpf, welches den Pixel Shader komplett abbricht. Im Moment kostet mich das hunderte Millisekunden, und ich optimiere mich seit Stunden erfolglos an einzelnen Speicherzugriffen zu Grunde. Was genau da vor sich geht, kann ich bis jetzt nur erahnen, übertrifft aber soweit meine schlimmsten Befürchtungen. :shock:
Oh, und wehe man geht der Sache auf den Grund:
Oh, und wehe man geht der Sache auf den Grund:
Na herzlichen Glückwunsch. Ist der Shader also mal wieder außerhalb der typischen Komplexität fünf Jahre alter Spiele? :evil:fxc hat geschrieben:internal error: argument pulled into unrelated predicate
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Anstatt zu schlafen weil ich in drei Stunden wieder raus muss habe ich eben fünf Stunden lang versucht, LLVM mit Eclipse ans Laufen zu kriegen
Das habe ich alles gesaugt, ausprobiert, installiert, extrahiert:
und ich so: Och komm
und Eclipse so: Because FUCK YOU
Nachtrag: Und dann habe ich das Häkchen bei „nicht unterstützte Toolchains ausblenden“ weggemacht und obwohl die Toolchain laut Eclipse nicht unterstützt ist sehe ich jetzt ein Stück Clang in der Ausgabe. True Story!
Das habe ich alles gesaugt, ausprobiert, installiert, extrahiert:
- Eclipse x64 (ich wusste ja nicht, dass man dafür die x64-JRE braucht)
- JRE x64 (ich wusste ja nicht, dass Clang auf Windows nur x86 ist)
- JRE (jetzt nochmal richtig – im Jahr 2012 muss schließlich alles brav x86 sein)
- Eclipse
- LLVM plugin for Eclipse CDT
- LLVM-GCC 4.2 Front End Binaries for Mingw32/x86
- LLVM Binaries for Mingw32/x86
- Clang Binaries for Mingw32/x86
und ich so: Och komm
und Eclipse so: Because FUCK YOU
Nachtrag: Und dann habe ich das Häkchen bei „nicht unterstützte Toolchains ausblenden“ weggemacht und obwohl die Toolchain laut Eclipse nicht unterstützt ist sehe ich jetzt ein Stück Clang in der Ausgabe. True Story!
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
clang++: error:
no
such
file
or
directory:
'(x86)\llvm-gcc4.2-2.9-x86-mingw32\include'
Oh fein
Ich darf ALLES NOCHMAL NEU INSTALLIEREN
weil ihr bescheuerten Idioten im Jahr 2012 keine Leerzeichen in Pfaden unterstützt
I CANT EVEN
und warum bricht die Fehlermeldung nach jedem Wort die Zeile um
IN WAS FÜR EINER WELT LEBEN WIR EIGENTLICH
no
such
file
or
directory:
'(x86)\llvm-gcc4.2-2.9-x86-mingw32\include'
Oh fein
Ich darf ALLES NOCHMAL NEU INSTALLIEREN
weil ihr bescheuerten Idioten im Jahr 2012 keine Leerzeichen in Pfaden unterstützt
I CANT EVEN
und warum bricht die Fehlermeldung nach jedem Wort die Zeile um
IN WAS FÜR EINER WELT LEBEN WIR EIGENTLICH
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
bei der Installation des Plugins via Drag & Drop hängt mein Browser. Der ganze Chrome trotz tollem Sandbox-Konzept.
Eclipse ist nur mit dem Standard-Windows-Farbschema kompatibel
hier surren überall Mücken rum weil das so scheiße grell ist
ich wusste ja, dass es schwierig würde, Clang zum Laufen zu kriegen
Ich hatte gehofft, es würde wie mit Sex – täte nur beim ersten Mal weh
aber mittlerweile installiere ich es zum vierten Mal und blute immernoch
und noch ist keine einzige Zeile kompiliert
Ahja
clang++.exe in PATH eintragen muss ich auch noch
na, hoffentlich stolpert der nicht über die ganzen Leerzeichen, die da drinstehen
Eclipse ist nur mit dem Standard-Windows-Farbschema kompatibel
hier surren überall Mücken rum weil das so scheiße grell ist
ich wusste ja, dass es schwierig würde, Clang zum Laufen zu kriegen
Ich hatte gehofft, es würde wie mit Sex – täte nur beim ersten Mal weh
aber mittlerweile installiere ich es zum vierten Mal und blute immernoch
und noch ist keine einzige Zeile kompiliert
Ahja
clang++.exe in PATH eintragen muss ich auch noch
na, hoffentlich stolpert der nicht über die ganzen Leerzeichen, die da drinstehen
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Haha wie konnte ich so dumm sein, mein Projekt Clang Test zu nennen
Illegal character in path at index 5: clang test.exe
[0] 'c'
[1] 'l'
[2] 'a'
[3] 'n'
[4] 'g'
[5] ' ' <<<<<<
[6] 't'
…
Illegal character in path at index 5: clang test.exe
[0] 'c'
[1] 'l'
[2] 'a'
[3] 'n'
[4] 'g'
[5] ' ' <<<<<<
[6] 't'
…
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
Schämst du dich denn gar nicht? Du weißt doch das wir in den 90igern leben. Da kannst du dir doch nicht einbilden, Leerzeichen in einem Pfad - einem PFAD - zu benutzen!
srsly, ich dachte wir wären mit soetwas durch.
Zum Jammern:
Ich kriege gestern eine Mail von einem Projektmitglied, dass sein Code inzwischen ohne Compiler Fehler compiliert. Ich freu mich drauf, git pull, qtcreator build und die ganze dämliche Konsole voller Compiler fehler. Dinge wie for (int u = 0; i < size; i++). (i war nicht woanders definiert)
Ich schreib also ne böse Mail an alle, meldet sich besagtes Teammitglied und entrüstet sich, er fühle sich etwas auf den Schlips getreten, er hätte ja alles gecheckt und in seinen Dateien kämen keine compile errors.
Ich zeig ihm also git log und schon ist er ruhig.
Moral von der Geschichte: in MSVC kann man ein Gedicht in ein unbenutzes Template schreiben und der Compiler freut sich. Mein GCC (ich arbeite für das Projekt unter Linux, meine Teammitglieder unter Windows) versucht das wohl zu instanzieren und rät dann ein paar - allerdings auch nicht alle - Fehler.
srsly, ich dachte wir wären mit soetwas durch.
Zum Jammern:
Ich kriege gestern eine Mail von einem Projektmitglied, dass sein Code inzwischen ohne Compiler Fehler compiliert. Ich freu mich drauf, git pull, qtcreator build und die ganze dämliche Konsole voller Compiler fehler. Dinge wie for (int u = 0; i < size; i++). (i war nicht woanders definiert)
Ich schreib also ne böse Mail an alle, meldet sich besagtes Teammitglied und entrüstet sich, er fühle sich etwas auf den Schlips getreten, er hätte ja alles gecheckt und in seinen Dateien kämen keine compile errors.
Ich zeig ihm also git log und schon ist er ruhig.
Moral von der Geschichte: in MSVC kann man ein Gedicht in ein unbenutzes Template schreiben und der Compiler freut sich. Mein GCC (ich arbeite für das Projekt unter Linux, meine Teammitglieder unter Windows) versucht das wohl zu instanzieren und rät dann ein paar - allerdings auch nicht alle - Fehler.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Jammer-Thread
Ja, das las ich hier im Forum schon mehr als einmal :)Artificial Mind hat geschrieben:
Moral von der Geschichte: in MSVC kann man ein Gedicht in ein unbenutzes Template schreiben und der Compiler freut sich. Mein GCC (ich arbeite für das Projekt unter Linux, meine Teammitglieder unter Windows) versucht das wohl zu instanzieren und rät dann ein paar - allerdings auch nicht alle - Fehler.
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
Ok, kann mir das mal bitte jemand erklären?
Aus der gmm-Library.
eigval und eigvect sind output parameter. Man bekommt die Eigenwerte und Eigenvektoren in diese Parameter geschrieben.
Warum sind die als const übergeben und werden direkt geconst_castet? Man hat mir beigebracht, dass dies wirklich das letzte ist, was man tun möchte.
Aus der gmm-Library.
Code: Alles auswählen
template <typename MAT1, typename VECT, typename MAT2>
void symmetric_qr_algorithm(const MAT1 &A, const VECT &eigval_,
const MAT2 &eigvect_,
tol_type_for_qr tol = default_tol_for_qr,
bool compvect = true) {
VECT &eigval = const_cast<VECT &>(eigval_);
MAT2 &eigvect = const_cast<MAT2 &>(eigvect_);
...
}
Warum sind die als const übergeben und werden direkt geconst_castet? Man hat mir beigebracht, dass dies wirklich das letzte ist, was man tun möchte.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
Das ist natürlich völliger Schwachsinn und potentiell undefined behaviour (nämlich dann wenn da mal jemand wirklich einen const VECT übergibt)...
- Chromanoid
- Moderator
- Beiträge: 4273
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Jammer-Thread
@Krishty: Ich kann als Speicherort für alles was mit SDKs usw. zu tun hat nur C:/Users/Public/SDKs o.Ä. empfehlen.
Re: Jammer-Thread
Da weiß ich doch, warum ich hier alle Fenster mit Fliegengittern ausgestattet habe. We have the technology! Oder so.Krishty hat geschrieben:hier surren überall Mücken rum weil das so scheiße grell ist
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Jammer-Thread
Benutz Clang.Artificial Mind hat geschrieben:Moral von der Geschichte: in MSVC kann man ein Gedicht in ein unbenutzes Template schreiben und der Compiler freut sich. Mein GCC (ich arbeite für das Projekt unter Linux, meine Teammitglieder unter Windows) versucht das wohl zu instanzieren und rät dann ein paar - allerdings auch nicht alle - Fehler.
Ach; besser doch nicht.
Da hat jemand gemerkt, dass er nicht mehr in die Parameter schreiben kann, falls für eigval_ und eigvect_ const-Instanzen (z.B. Rvalues) übergeben werden, weil in diesem Fall MAT1 und VECT zu const-qualifizierten Typen aufgelöst werden. Weil er kein unConst-Template auf die Reihe gekriegt, und auch sonst nicht viel von irgendwas verstanden hat, hat er die Parameter const deklariert und das const_cast<>() eingebaut. Auf diese Art und Weise sind lokale Instanzen vom Typ VECT nicht mehr const (das const wird durch das in der Parameterdeklaration von VECT und MAT2 weggezogen), und er kann trotzdem irgendwie in die Instanzen schreiben. Ist aber nur geraten.Artificial Mind hat geschrieben:Ok, kann mir das mal bitte jemand erklären?
Das ist ja nicht einmal ein SDK. Das sind drei Compiler und eine IDE. Irgendwo hört es doch auf.Chromanoid hat geschrieben:@Krishty: Ich kann als Speicherort für alles was mit SDKs usw. zu tun hat nur C:/Users/Public/SDKs o.Ä. empfehlen.
Ist ein Kippfenster. Dafür habe ich den schöneren Ausblick auf die Sterne. (Falls ich nicht vom Standard-Thema geblendet bin …)eXile hat geschrieben:Da weiß ich doch, warum ich hier alle Fenster mit Fliegengittern ausgestattet habe. We have the technology! Oder so.
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen
Re: Jammer-Thread
Das kommt aus der gmm-Library:Krishty hat geschrieben:Da hat jemand gemerkt, dass er nicht mehr in die Parameter schreiben kann, falls für eigval_ und eigvect_ const-Instanzen (z.B. Rvalues) übergeben werden, weil in diesem Fall MAT1 und VECT zu const-qualifizierten Typen aufgelöst werden. Weil er kein unConst-Template auf die Reihe gekriegt, und auch sonst nicht viel von irgendwas verstanden hat, hat er die Parameter const deklariert und das const_cast<>() eingebaut. Auf diese Art und Weise sind lokale Instanzen vom Typ VECT nicht mehr const (das const wird durch das in der Parameterdeklaration von VECT und MAT2 weggezogen), und er kann trotzdem irgendwie in die Instanzen schreiben. Ist aber nur geraten.Artificial Mind hat geschrieben:Ok, kann mir das mal bitte jemand erklären?
http://download.gna.org/getfem/html/hom ... nseqr.html
Eigentlich ist das eine seriöse und auch von nicht wenigen verwendete Math Library für Linear Algebra Stuff.
Mir kommt eine "da konnte jemand nicht richtig programmieren"-Erklärung irgendwie seltsam vor.
- dot
- Establishment
- Beiträge: 1745
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Jammer-Thread
Es gibt aber keine vernünftige Erklärung für das. Wie gesagt, je nachdem wie die Funktion aufgerufen wird, ist das sogar undefined behaviour...Artificial Mind hat geschrieben:Mir kommt eine "da konnte jemand nicht richtig programmieren"-Erklärung irgendwie seltsam vor.
- Artificial Mind
- Establishment
- Beiträge: 802
- Registriert: 17.12.2007, 17:51
- Wohnort: Aachen