Die Suche ergab 1735 Treffer

von dot
22.03.2023, 23:10
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 2278

Re: C - Differenzen von zwei unsigned int?

Offensichtlich ganz im Kontrast zu einem "Überlauf" eines Signed! Das Programmverhalten ist danach UB! Und das ist ja eigentlich genau das, was man wirklich nie haben möchte. Das Programmverhalten ist in beiden Fällen falsch denn Wraparound, egal wie er zustandekommt, ist so oder so eben ...
von dot
14.03.2023, 15:33
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 2278

Re: C - Differenzen von zwei unsigned int?

Aber worauf ich eigentlich hinaus wollte ist die Frage, welchen Unterschied das in der Praxis macht. Zunächst: In einer ganzen Reihe von Fällen wird der Compiler kein UB erkennen können, weil z.B. die Variablen von Usereingaben abhängen also unmöglich vorauszusagen sind. Und da es ja eine elementar...
von dot
13.03.2023, 20:28
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 2278

Re: C - Differenzen von zwei unsigned int?

Anmerkung: wenn Du die Differenz zweier int32 bilden willst, können ganz genauso Differenzen entstehen, die der Datentyp nicht mehr abbilden kann, wie bei uint32 . Der ganze Rest... tja, manchmal will man definierten Overflow haben, manchmal will man die Vorteile von UB haben. Sowas die definierten...
von dot
13.03.2023, 19:56
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 2278

Re: C - Differenzen von zwei unsigned int?

https://en.wikipedia.org/wiki/Integer_overflow Also, "signed integer sind normale Ganzzahlen" ist es doch auch irgendwie nicht. Wenn es bei zu großen Zahlen zu UB kommt, würde ich vermuten (ohne es getestet zu haben), dass man dann bei "größte Zahl plus eins" einfach häufig bei ...
von dot
13.03.2023, 03:04
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 2278

Re: C - Differenzen von zwei unsigned int?

Jede Variable für sich kann natürlich nur 0 oder positiv sein, die Differenz jedoch kann bekanntermassen ja negativ ausfallen. Das Grundproblem hier ist das gängige Missverständnis, dass unsigned bedeutet "kann nicht negativ sein". Das ist nicht was unsigned in C und C++ bedeutet. unsigne...
von dot
24.01.2023, 12:58
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1498454

Re: Jammer-Thread

… Diese Antwort geht darauf ein: https://stackoverflow.com/questions/1433204/how-do-i-use-extern-to-share-variables-between-source-files/1433387#1433387 (such nach COMMON) Es ist wohl eine Erweiterung zwecks FORTRAN-Kompatibilität, durch die sowohl MSVC als auch GCC erlauben, Variablen unterschiedl...
von dot
24.01.2023, 05:25
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 4748

Re: 4 Bytes in Heap zu int

Sicher dass das mit MSVC war und nicht, e.g., clang? Ich versuche seit Jahren , MSVC dazu zu bewegen, einigermaßen effizienten Code für portable Serialization/Deserialization zu generieren; bisher ohne Erfolg… Lustig: Heute veröffentlicht das Team einen Artikel, dass sie diese Optimierung vor Kurze...
von dot
24.01.2023, 03:25
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1498454

Re: Jammer-Thread

In C ist es erlaubt, globale Variablen mehrfach mit unterschiedlichen Typen zu deklarieren. Der Linker muss dann die größere Repräsentation wählen. ka welche Version von C das sein soll, aber das hör ich zum ersten Mal. Generell gilt All declarations that refer to the same object or function shall ...
von dot
20.01.2023, 03:02
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ Scheifen optimieren
Antworten: 8
Zugriffe: 1590

Re: C++ Scheifen optimieren

https://godbolt.org/z/hqrWTM5n1 generiert VMOVDQU YMM1 , was ohne genauere Inspektion erstmal für 32-Byte-Häppchen (acht int s parallel) spricht. Probier mal was komplexeres, z.B.: c = a * 0.5f + b . gcc scheint ganz akzeptablen Code zu generieren. msvc und clang dagegen failen völlig… Andererseits...
von dot
10.12.2022, 20:49
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Array-Grösse zur Laufzeit festlegen?
Antworten: 23
Zugriffe: 2489

Re: Array-Grösse zur Laufzeit festlegen?

Note: Das ist unspecified behavior; du darfst im Allgemeinen nicht einfach so Pointer oder Reference auf eine stdlib Function machen: https://eel.is/c++draft/constraints#namespace.std-6 ;) P.S.: Hast du zufällig auch noch eine Erklärung, wie sie darauf gekommen sind? afaik geht's drum dass stdlib F...
von dot
10.12.2022, 16:57
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Array-Grösse zur Laufzeit festlegen?
Antworten: 23
Zugriffe: 2489

Re: Array-Grösse zur Laufzeit festlegen?

Funktionspointer sind auch sehr komisch mit der Syntax, aber da führt kein Weg dran vorbei. Als Tipp für C++ (nicht C):   using Allocator = void * (size_t); // function expecting a size and returning a void pointer   Allocator * foo = &malloc; // Funktionszeiger   Allocator & foo = malloc; ...
von dot
20.11.2022, 23:46
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 4748

Re: 4 Bytes in Heap zu int

Update: Das Einlesen klappt dank eurer Hilfe soweit einwandfrei. Jedoch liefert mir fgetc() beim Lesen einer Datei beim Wert 26 (1A) EOF, statt den tatsächlichen Wert. Das lässt sich zwar umgehen, wenn ich den Modus von fopen() auf "rb" setze, jedoch bin ich mir nicht sicher, ob sich das ...
von dot
17.11.2022, 14:44
Forum: Algorithmen und Datenstrukturen
Thema: Vertices mergen und Reorganisation der Abhängigkeiten
Antworten: 5
Zugriffe: 1340

Re: Vertices mergen und Reorganisation der Abhängigkeiten

Mach ein Array wo für jeden Vertex dessen neuer Index drinsteht: Lauf über alle Vertices, zähl mit was der nächste freie Index ist. Wenn ein Vertex gelöscht werden soll wird der Counter nicht inkrementiert und stattdessen der Index des Vertex mit dem germerged werden soll ausgegeben (wenn bei zu mer...
von dot
15.11.2022, 12:18
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 4748

Re: 4 Bytes in Heap zu int

VS hat bei mir zuverlässig das Rumshiften als EndianSwap erkannt und durch bswap ersetzt. Ist aber schon ne Weile her, dass ich das letzte Mal ins ASM geguckt habe Sicher dass das mit MSVC war und nicht, e.g., clang? Ich versuche seit Jahren , MSVC dazu zu bewegen, einigermaßen effizienten Code für...
von dot
14.11.2022, 17:07
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 4748

Re: 4 Bytes in Heap zu int

Ja, genau das. BMP hat die Eigenschaft, dass die 32-Bit-Zahlen im Header nicht natürlich ausgerichtet sind (zwei statt vier Bytes). Also definitiv durch unsigned char * lesen und das uint32_t zusammenbauen. Der Vollständigkeit halber wäre hier noch die Variante mit memcpy() und anschließendem Verta...
von dot
31.10.2022, 14:33
Forum: Algorithmen und Datenstrukturen
Thema: [C++] Befülle eine Liste mit einzigartigen Elementen aus einer Liste von Alternativen
Antworten: 7
Zugriffe: 1144

Re: [C++] Befülle eine Liste mit einzigartigen Elementen aus einer Liste von Alternativen

Ich fühle hier sehr starke xy problem vibes…

Ich würde vorschlagen, dass du uns mal erklärst, was genau du mit der Lösung dieses Problems zu erreichen erhoffst.
von dot
28.10.2022, 23:09
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 32279

Re: Sammelthread zu Visual C++’ Compiler

(Verschiedene Return-Pfade und -Werte schafft man ja auch mit Rvalues, oder verstehe ich was falsch?) X fun() { X x; if (funfun(&x)) return X(42); return x; } Was nun? Der Compiler kann x nicht in den Returnslot platzieren weil, im Falle dass das if genommen wird, muss er erst das Returnvalue k...
von dot
28.10.2022, 19:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 32279

Re: Sammelthread zu Visual C++’ Compiler

Weil's dann im Allgemeinen nicht mehr möglich ist, garantiert zu wissen, dass die Copy elided werden kann. Es kann ja beliebig viele Returns geben, die über beliebig komplexen Kontrollfluss erreicht werden können. Und nicht alle diese Returns müssen überhaupt die selbe Variable returnen… siehe auch ...
von dot
18.10.2022, 12:16
Forum: Grafikprogrammierung
Thema: GLSL Compute Shader ImageWrite synchronisieren
Antworten: 14
Zugriffe: 1465

Re: GLSL Compute Shader ImageWrite synchronisieren

Wie wär's mit "alle Dreiecke auf einmal pro Tile"? Du teilst Deinen Screen in Tiles auf, irgendwas Compute-Freundliches wie 32x32. Wobei Thread Groups glaube ich ne natürliche Größe von 64 haben, also müsste 8x8 das theoretische Optimum sein? Weiß ich nicht, ich spekuliere nur. Jedenfalls...
von dot
15.10.2022, 19:51
Forum: Grafikprogrammierung
Thema: GLSL Compute Shader ImageWrite synchronisieren
Antworten: 14
Zugriffe: 1465

Re: GLSL Compute Shader ImageWrite synchronisieren

Was ich bei der 64 bit Methode noch nicht verstanden habe, ich möchte den write ja nur in Abhängigkeit vom Depth value ausführen, wie schaffe ich es nur z.B. atomicimagewritemax nur die unteren 32 bit für den Vergleich zu berücksichtigen? Der Trick ist, die Depth in die oberen 32 Bit zu packen und ...
von dot
15.10.2022, 17:34
Forum: Grafikprogrammierung
Thema: GLSL Compute Shader ImageWrite synchronisieren
Antworten: 14
Zugriffe: 1465

Re: GLSL Compute Shader ImageWrite synchronisieren

Wenn Du Depth und RGBA in einen uint64 gepackt kriegst, könnte das Dein Problem auch lösen. yup, das ist der klassische Trick. Per-pixel Locks willst du ziemlich sicher nicht. Bei Locks auf der GPU ist generell sehr aufzupassen. Hast du z.B. eine Situation wo Threads das Lock acquiren wollen welche...
von dot
27.09.2022, 18:36
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ Ranges fail mit Clang Compiler
Antworten: 4
Zugriffe: 1030

Re: C++ Ranges fail mit Clang Compiler

Matthias Gubisch hat geschrieben: 25.09.2022, 17:34Die Frage warum der mit VS mitgelieferte Clang unter Windows baut bleibt aber...
Unter Windows verwendet clang standardmäßig afaik die MSVC stdlib und nicht libstdc++…
von dot
11.09.2022, 13:42
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 32279

Re: Sammelthread zu Visual C++’ Compiler

Die Sache mit UB sehe ich pragmatischer, solange das getestet ist und nicht zufällig reinrutscht. UB heisst ja nur, das der Standard dazu keine Meinung hat, und dem Compilerbauer die Freiheit lässt was Sinnvolles zu machen. Nope, UB heißt eben genau dass du dich nicht darauf verlassen kannst, dass ...
von dot
28.05.2022, 20:24
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1498454

Re: Jammer-Thread

Weil der Lexer irgendwie zwischen Identifieren und anderen Token unterscheiden muss. Aber das muss er doch ohne Unicode genau so? Bitte ausführlicher Ja, muss er. Zum Beispiel muss er zwischen Integerliteralen und Identifiern unterscheiden. Darum ist blub1234 ein valider Identifier aber 1234blub ni...
von dot
28.05.2022, 16:17
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1498454

Re: Jammer-Thread

[*]Warum keine Sonderzeichen am Anfang von Namen zulassen? Warum nur ab dem zweiten Zeichen?! Jetzt brauche ich scheiß Präfixe für meine Variablen, aber _ darf ich nicht benutzen, weil ich dann den reservierten Namensraum betrete. FFFFUUUUU Weil der Lexer irgendwie zwischen Identifieren und anderen...
von dot
16.04.2022, 13:16
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1498454

Re: Jammer-Thread

Wieder eine Stelle, an der C++ alles doppelt macht: using in verschiedenen Scopes.   namespace Namespace {     enum Foo { };   }   struct Struct {     enum Foo { };   };   // … in einer Funktion:   using Namespace::Foo; // OK   using Struct::Foo; // ERROR: a class qualified name is not allowed   us...
von dot
12.10.2021, 17:21
Forum: Algorithmen und Datenstrukturen
Thema: "Inseln" im Dreiecksmesh finden
Antworten: 15
Zugriffe: 3036

Re: "Inseln" im Dreiecksmesh finden

Die Frage ist dabei halt nur: Wie genau findest du raus wer deine Nachbarn sind? 😉 Wieso ist das denn schwierig? Im Indexbuffer stehen ja die Indices direkt drin, man muss halt nur noch wissen, für welchen Draw-Mode (Triangle-Strip, Triangle-Fan, etc.) die sind. Der Vertex-Index ist dann ja auch de...
von dot
12.10.2021, 15:58
Forum: Algorithmen und Datenstrukturen
Thema: "Inseln" im Dreiecksmesh finden
Antworten: 15
Zugriffe: 3036

Re: "Inseln" im Dreiecksmesh finden

Dann musst du nur einmal deinen Indexbuffer durchgehen und die Nachbar eintragen, […] Die Frage ist dabei halt nur: Wie genau findest du raus wer deine Nachbarn sind? 😉 Ich verwend in der Regel eine Hashtable, in der jede Dreiecksedge als Paar von Start- und Endvertexindex auf den Index des jeweili...