Die Suche ergab 1668 Treffer

von dot
26.03.2020, 23:23
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Nein; der Stack Frame jedes Funktionsaufrufs muss an 16 B ausgerichtet sein. Individuelle Variablen innerhalb des Stack Frames sind nicht spezifiziert und werden üblicherweise mit natürlicher Ausrichtung abgelegt. Das stimmt natürlich, sry, Brainfart… Abgesehen davon liegen String-Literale hoffentl...
von dot
26.03.2020, 00:31
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Ich bekomme eine unheimliche Vermutung, warum Visual C++ stur alle Arrays an 16 B ausrichtet:[…] Das 64-Bit Windows ABI verlangt, dass der Stack immer 16-Byte-aligned ist. Der C++ Standard verlangt, dass ::operator new Storage returned, deren Alignment zumindest alignof(std​::​max_­align_­t) beträg...
von dot
27.02.2020, 02:32
Forum: Artikel, Tutorials und Materialien
Thema: [C++] Mikrooptimierungs-Log
Antworten: 92
Zugriffe: 96913

Re: [C++] Mikrooptimierungs-Log

Wenn du drüber nachdenkst: Der Shift ist wohl der absolut schnellste Weg, um von deinem Check zu einem bool zu kommen. Der Shift ist lediglich nicht der schnellste Weg, um basierend auf dem Resultat des Checks zu branchen. Der Unterschied zwischen dem Makro und der Function ist, dass die Function au...
von dot
11.02.2020, 17:26
Forum: Artikel, Tutorials und Materialien
Thema: [C++] Mikrooptimierungs-Log
Antworten: 92
Zugriffe: 96913

Re: [C++] Mikrooptimierungs-Log

… und da die Auswertungsreihenfolge von Funktionsparametern undefiniert ist, darf der Compiler die Befehle nun umsortieren und vermengen wie er will (bzw. wie es für die CPU am effizientesten ist). Seit C++17 ist die Initialisierung von Parametern in einem Functioncall nicht mehr unsequenced sonder...
von dot
27.01.2020, 04:58
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Krishty hat geschrieben:
25.01.2020, 03:08
AAAAAAAAAAAH wer hat C++’20 so verbogen, dass Funktionen standardmäßig zu Zeigern auflösen statt zu Referenzen? Im Speziellen hat das hier mit C++’17 funktioniert […]
Das muss ein MSVC Bug sein. Bitte reporten...
von dot
19.01.2020, 04:14
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Das 2D Graphics Proposal geistert schon seit langem rum. Schaut nicht aus als dass irgendwas draus wird (gottseidank). Gerade druckfrisch zum Thema: P2005R0

Btw: Wieso zählt libc++ nicht als eigene Standardbibliothek?
von dot
26.12.2019, 20:54
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Was passiert da genau (vector)?
Antworten: 5
Zugriffe: 1643

Re: Was passiert da genau (vector)?

Wie würdest du denn vorgehen, wenn du einen vector von einer separaten Funktion "befüllen" lassen möchtest? Ich würde die Funktion einfach den neu befüllten vector returnen lassen… ;) vector<ding> f() { vector<ding> dings; dings.reserve(10); dings.emplace_back(); dings.emplace_back(); dings.emplace...
von dot
26.12.2019, 13:10
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Welches Build-System?
Antworten: 9
Zugriffe: 5008

Re: Welches Build-System?

Leider gibt es kein wirklich gutes Buildsystem für C++. Zumindest wäre mir noch keines untergekommen. Aber das und das könnte dich vielleicht interessieren…
von dot
10.12.2019, 18:24
Forum: Grafikprogrammierung
Thema: Nullvektor bei GLSL-Funktionen
Antworten: 6
Zugriffe: 1246

Re: Nullvektor bei GLSL-Funktionen

Ja, wenn du für N den Nullvektor in die Formel einsetzt, kommt l raus… ;) Die GLSL Spezifikation schreibt vor, dass das Ergebnis nach eben genau dieser Formel zu berechnen ist. Du kannst dich darauf verlassen, dass das Ergebnis auf diese (oder mathematisch äquivalente) Art und Weise berechnet wird. ...
von dot
10.12.2019, 12:35
Forum: Grafikprogrammierung
Thema: Nullvektor bei GLSL-Funktionen
Antworten: 6
Zugriffe: 1246

Re: Nullvektor bei GLSL-Funktionen

Der Nachsatz steht da weil die Formel nur für den Fall eines normalisierten N funktioniert. Was die Formel effektiv tut ist ( \langle\mathrm{\mathbf n}, \mathrm{\mathbf l}\rangle entspricht dot(n, l) ): blub.png \langle\mathrm{\mathbf n}, \mathrm{\mathbf l}\rangle\cdot\mathrm{\mathbf n} ergibt nur d...
von dot
15.04.2019, 15:34
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Code: Alles auswählen

                sub.popover(
                    **{"""panel""" : R'VIEW3D_PT_gpencil_guide',
                        r"text": '''Guides''',
                    }
                )
fixed that for ya!
von dot
28.03.2019, 21:55
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Oh, ok, ich muss sagen das hör ich zum ersten Mal und wäre mir bis jetzt noch nicht aufgefallen. Ich kann die Werbung hier jedenfalls selbst wenn ich danach suche nicht finden… xD
von dot
28.03.2019, 13:30
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Als jemand der seit der ersten Beta nur noch Chrome verwendet hat und vor ein paar Monaten zurück zu Firefox gegangen ist: der neue Firefox ist ziemlich gut ;)
von dot
04.02.2019, 01:45
Forum: Artikel, Tutorials und Materialien
Thema: C++ Kurznotizen
Antworten: 15
Zugriffe: 3052

Re: C++ Kurznotizen

Krishty hat geschrieben:
03.02.2019, 20:26
Haben die für Module, wie sie aktuell aussehen, tatsächlich so übel mit Legacy-Code gebrochen?! Oder sollen die Schlüsselwörter später Kontext-sensitiv sein?!
Momentan sieht es auf jeden Fall so aus, dass die Keywords für Modules context-sensitive sein werden: P0924r1
von dot
02.02.2019, 22:54
Forum: Artikel, Tutorials und Materialien
Thema: C++ Kurznotizen
Antworten: 15
Zugriffe: 3052

Re: C++ Kurznotizen

Beachte: Wenn du unter Visual C++ die alternative operator tokens verwenden willst, muss du entweder mit /Za oder /permissive- kompilieren oder den header <ciso646> includen. In C musst du afaik immer <iso464.h> includen um die alternative tokens zu bekommen… Ist irgendwie schräg implementiert, da ...
von dot
02.02.2019, 04:33
Forum: Artikel, Tutorials und Materialien
Thema: C++ Kurznotizen
Antworten: 15
Zugriffe: 3052

Re: C++ Kurznotizen

[*] constexpr hat neben der Eigenschaft, dass Code zu Compilezeit ausführbar wird, auch die sehr praktische Eigenschaft, dass in einer constexpr-Funktion kein undefined behaviour auftreten darf. Damit kann man schon viele Fehlerquellen zu Compilezeit ausschließen Das stimmt so leider nicht. Überhau...
von dot
02.02.2019, 03:27
Forum: Artikel, Tutorials und Materialien
Thema: C++ Kurznotizen
Antworten: 15
Zugriffe: 3052

Re: C++ Kurznotizen

Beachte: Wenn du unter Visual C++ die alternative operator tokens verwenden willst, muss du entweder mit /Za oder /permissive- kompilieren oder den header <ciso646> includen. In C musst du afaik immer <iso464.h> includen um die alternative tokens zu bekommen…
von dot
05.01.2019, 14:55
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Mein Tip: Schau dir mal Visual Studio Code an. Für Python imho unschlagbar. Das große Visual Studio war mir für Python immer zu umständlich und schwerfällig…
von dot
18.11.2018, 14:15
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gibt Placement New den Originalzeiger zurück?
Antworten: 5
Zugriffe: 1521

Re: [C++] Gibt Placement New den Originalzeiger zurück?

Ein Array und das erste Element eines Arrays sind nicht pointer interconvertible . Mit anderen Worten: Es ist per Definition nicht möglich aus der Adresse eines Array einen gültigen Pointer auf das erste Element abzuleiten… Zum Verständnis: Das bezieht sich aber nur auf reinterpret_cast , oder? Arr...
von dot
18.11.2018, 05:00
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gibt Placement New den Originalzeiger zurück?
Antworten: 5
Zugriffe: 1521

Re: [C++] Gibt Placement New den Originalzeiger zurück?

Dabei gibt das new unter bestimmten Umständen (siehe Link) eine andere Adresse zurück als übergeben wurde. Das ist nun der Streitpunkt – ob new das darf oder nicht. tl;dr: new darf das imho definitiv. Abgesehen davon hat der Code in diesem Bugreport Undefined Behavior. Sogar dann noch, wenn wir das...
von dot
25.09.2018, 14:10
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 6056
Zugriffe: 1180948

Re: Jammer-Thread

Sind alles PE files; Executable, Object und Library (Archive) Format sind in der offiziellen Spezifikation dokumentiert.
von dot
13.09.2018, 14:24
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: std::vector-push_back mit std::move
Antworten: 8
Zugriffe: 1591

Re: std::vector-push_back mit std::move

Aber wenn du es nutzt, lohnt es sich nicht wirklich sich über Move-Semantik Gedanken zu machen. Einen std::shared_ptr zu kopieren ist nicht sonderlich teuer. Hängt davon ab. Auch wenn es hier vermutlich kein großes Problem ist: Einen shared_ptr zu kopieren ist vermutlich doch um einiges teurer als ...
von dot
12.09.2018, 12:59
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: std::vector-push_back mit std::move
Antworten: 8
Zugriffe: 1591

Re: std::vector-push_back mit std::move

nun Frage ich mich, ob ich nicht eher sowas schreiben kann: CollectorClass::addObject(const std::shared_ptr<Object>&& anObject) { myObjectVector.push_back(anObject); } wäre das nicht besser? Wenn, dann CollectorClass::addObject(std::shared_ptr<Object>&& anObject) { … } Eine rvalue Reference to non-...
von dot
07.08.2018, 02:55
Forum: Algorithmen und Datenstrukturen
Thema: Verwirrspiel Intervallmapping
Antworten: 3
Zugriffe: 1255

Re: Verwirrspiel Intervallmapping

Zur Veranschaulichung sagen wir jetzt aber, wir wollen die Größe von 4 auf 8 skalieren. Wir bekommen nach obiger Formel: [0..3]->[0..7]: [0, 1, 2, 3]->[0, 2.33, 4.67, 7] [1..4]->[1..8]: [1, 2, 3, 4]->[1, 3.33, 5.67, 8] Und wie viele Pixel hat dein "skaliertes" Bild nun genau? ;) Pixel sind doch kei...
von dot
31.07.2018, 15:34
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Fehler: mehrdeutiger Aufruf const/nonconst aus Lambda
Antworten: 3
Zugriffe: 1878

Re: [C++] Fehler: mehrdeutiger Aufruf const/nonconst aus Lam

Soweit ich das sehen kann, ist das ziemlich sicher ein Compilerbug. Hab mal ein bisschen damit rumgespielt. So wie mir das aussieht, wird this korrekt gecaptured ( const falls foo() const ist). Nur bei der Overload Resolution geht dann irgendwas schief. Interessanterweise klappt es, wenn man [this](...
von dot
24.07.2018, 21:45
Forum: Grafikprogrammierung
Thema: Reflektionen (Nässe)
Antworten: 34
Zugriffe: 9691

Re: Reflektionen (Nässe)

Blinn-Phong basiert auf Microfacets. "Blinn-Phong ohne Microfacets" gibt's nicht, denn Microfacets ist, wie man Blinn-Phong herleitet… ;)
von dot
20.07.2018, 11:34
Forum: Grafikprogrammierung
Thema: Reflektionen (Nässe)
Antworten: 34
Zugriffe: 9691

Re: Reflektionen

Verwendest du Phong Shading? Versuch's mal mit Blinn-Phong, das ist physikalisch korrekter… ;)
Untitled.png
von dot
10.06.2018, 23:14
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: structured binding vs. iterator pair
Antworten: 11
Zugriffe: 2946

Re: structured binding vs. iterator pair

Jonathan hat geschrieben:Vermutlich wäre dann das, was du eigentlich haben möchtest, eine Funktion std::minmax_value, die dementsprechend Werte statt Iteratoren zurück liefert. Und dann ist es vielleicht eleganter eine solche Funktion zu implementieren, als einen Dereferenzierungsoperator für Tupels.
+1
von dot
07.06.2018, 10:59
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 51
Zugriffe: 18003

Re: Sammelthread zu Visual C++’ Compiler

Schrompf hat geschrieben:bringst Du dort regelmäßig Kuchen vorbei? :-)
Keine Ahnung was ich gemacht hab :D , aber ich hab hier ein sehr langes Textfile mit Bugs, für die ich keine Zeit hatte, einen anständigen Report zu schreiben. Mal sehen, vielleicht machen wir demnächst weitere Experimente... :twisted: