Die Suche ergab 1747 Treffer

von dot
08.07.2023, 10:46
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: c-faq.com - UB in Snippet?
Antworten: 22
Zugriffe: 10755

Re: c-faq.com - UB in Snippet?

The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits are filled with zeros. If E1 has an unsigned type, the value of the result is E1 × 2^E2, wrapped around. If E1 has a signed type and nonnegative value, and E1 × 2^E2 is representable in the result type, then that is the result...
von dot
04.07.2023, 12:09
Forum: Grafikprogrammierung
Thema: double in shader und texture
Antworten: 10
Zugriffe: 3629

Re: double in shader und texture

Ich will nicht, aber ich brauche für den Algorithmus diese Genauigkeit. Ist natürlich sehr schade das die Leistung dann derart in die Kniee geht. Beachte, dass die FP64 performance da in etwa gleichauf mit einer modernen CPU ist. Die GPU zu verwenden ist in der Regel mit etwas Overhead verbunden un...
von dot
03.07.2023, 23:08
Forum: Grafikprogrammierung
Thema: double in shader und texture
Antworten: 10
Zugriffe: 3629

Re: double in shader und texture

ich wollte mal fragen, ob es irgendwie möglich ist in Shadern und Texturen den Datentype double zu verwenden ? Ich bräuchte es für ein zukünftiges Projekt. Möglichst für DirectX 11 oder 12. CUDA wäre aber auch im Rahmen des Möglichen... Können? Unter Umständen ja. Aber das willst du nicht. Außer du...
von dot
03.07.2023, 22:34
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: c-faq.com - UB in Snippet?
Antworten: 22
Zugriffe: 10755

Re: c-faq.com - UB in Snippet?

Müsste man da nicht zu unsigned long casten? Ich würde mal sagen ja, das schaut mir auf jeden Fall nach UB aus. Bachte auch, dass das ja C ist und nicht C++20. In C++ wäre das OK [expr.shift]/2 (seit C++20). In C aber nicht: https://open-std.org/JTC1/SC22/WG14/www/docs/n3096.pdf 6.5.7/3 (Seite 85)....
von dot
01.06.2023, 23:29
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Clang mit MSVC - minimale Installation (Anleitung)
Antworten: 17
Zugriffe: 3053

Re: Clang mit MSVC - minimale Installation (Anleitung)

Gibt es einen Weg unter Windows professionell Software zu enwtickeln ohne für die MSVC Runtime irgendwie zu bezahlen? Hatte mir das mal angesehen und keinen offensichtlichen gesehen; kann mich aber auch nicht mehr an die genauen Rahmenbedingungen erinnern. Alles in WSL laufen zu lassen zählt nicht ...
von dot
01.06.2023, 13:11
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Clang mit MSVC - minimale Installation (Anleitung)
Antworten: 17
Zugriffe: 3053

Re: Clang mit MSVC - minimale Installation (Anleitung)

Rein prinzipiell sollte es glaub ich möglich sein, Clang auf Windows gänzlich ohne MSVC zu betreiben. Clang verwendet nur by default die MSVC Standardlibrary und den MSVC Linker. Wenn du Clang oder zumindest libc++ selber baust, solltest du einfach mit lld und libc++ arbeiten können. Windows SDK wir...
von dot
30.05.2023, 18:11
Forum: Algorithmen und Datenstrukturen
Thema: Verwirrt betreffend Rotationsgeschwindigkeit
Antworten: 23
Zugriffe: 6864

Re: Verwirrt betreffend Rotationsgeschwindigkeit

Und hier hadere ich nun. Der Wert, den ich dann bekomme – ist das die Anzahl voller Umdrehungen pro Sekunde oder rad/s ? Ich glaub der Schlüssel hier liegt in der Tatsache, dass rad keine fundamentale Einheit sondern eher eine dimensionslose Pseudoeinheit ist. 1 rad entspricht keiner direkten physi...
von dot
03.05.2023, 04:00
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 11217

Re: C - Differenzen von zwei unsigned int?

Wie sieht das mit Rust und Zig aus? Zig: UB (macht Sinn, ist ja stark Performanceorientiert) Rust: check + trap in Debug, wrap in Release (unschön weil weder wirklich safe noch maximal effizient, aus Performancegründen aber als notwendiger Kompromiss erachtet) + in beiden Sprachen gibt es auch Wege...
von dot
03.05.2023, 03:00
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 11217

Re: C - Differenzen von zwei unsigned int?

Ich glaube du verwechselst C und C++. Nope. Da gibt's nicht wirklich was zu verwechseln, C++ hat den ganzen Kram 1:1 von C geerbt, funktioniert in beiden Sprachen praktisch exakt gleich. C war schon immer ganz nahe dran an der Hardware […] Die Idee, dass C irgendwie besonders nahe an der Hardware i...
von dot
02.05.2023, 02:40
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 11217

Re: C - Differenzen von zwei unsigned int?

Du kannst also INT und UINT kunterbunt mischen und zuweisen, der Unterschied tritt nur bei einer Abfragen auf < 0 auf! signed und unsigned Integer "kunterbunt mischen" ist eine wunderbar schlechte Idee. Die Tatsache dass C das überhaupt erlaubt, ist einer der größten Designfehler in C… We...
von dot
13.04.2023, 17:45
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Forward Declaration "manuell" oder #include?
Antworten: 29
Zugriffe: 5685

Re: Forward Declaration "manuell" oder #include?

Also für mich ist vor allem wichtig dass der Code auf einer PDP-11 baut. Da nehme ich gerne entsprechende Design-Entscheidungen in Kauf *scnr*. Ist nicht unbedingt nur eine Frage obs auf einer PDP-11 läuft, sondern generell eine Frage der Skalierbarkeit. Zu vermeiden, dass Teile des Code mehrfach g...
von dot
13.04.2023, 01:59
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Forward Declaration "manuell" oder #include?
Antworten: 29
Zugriffe: 5685

Re: Forward Declaration "manuell" oder #include?

FWIW, Modules ändern nichts an der Tatsache, dass man in C++ Dinge deklarieren muss, bevor man sich auf sie beziehen kann. Modules bringen uns effektiv nur einen neuen Weg, Deklarationen zu importieren. Wenn du dein Module beispielsweise in separate Interface- und Implementation-units aufteilen will...
von dot
22.03.2023, 23:10
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 29
Zugriffe: 11217

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: 11217

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: 11217

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: 11217

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: 11217

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: 7641
Zugriffe: 1960902

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: 10707

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: 7641
Zugriffe: 1960902

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: 2237

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: 7767

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: 7767

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: 10707

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: 3983

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: 10707

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: 10707

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: 3954

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: 100
Zugriffe: 59216

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: 100
Zugriffe: 59216

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 ...