Die Suche ergab 40 Treffer

von udok
09.12.2023, 11:27
Forum: Algorithmen und Datenstrukturen
Thema: Interview-Frage [asking for a friend]: Mittelwert von Array von Double
Antworten: 13
Zugriffe: 599

Re: Interview-Frage [asking for a friend]: Mittelwert von Array von Double

Heute wird die x87 mit den 80 Bit Floats nur mehr in Legacy Apps verwendet. Jeder aktuelle Compiler erzeugt SSE2 Floating Point Code , und da gibt es nur 32 und 64 Bit Floating Point Formate.
von udok
09.12.2023, 10:58
Forum: Algorithmen und Datenstrukturen
Thema: Interview-Frage [asking for a friend]: Mittelwert von Array von Double
Antworten: 13
Zugriffe: 599

Re: Interview-Frage [asking for a friend]: Mittelwert von Array von Double

Wenn da nur ein einziges INV oder NaN drinnen ist, hat sich die Frage erübrigt... man muss also die Statistik ungefähr kennen, und den Anwendungszweck. Wenn Geschwindigkeit wichtig ist, dann braucht man einen größeren Hardware Akkumulator, man könnte auch alle 1000 Elemente die Summe runterskalieren...
von udok
02.05.2023, 21:04
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 26
Zugriffe: 1704

Re: C - Differenzen von zwei unsigned int?

Ich glaube du verwechselst C und C++. C war schon immer ganz nahe dran an der Hardware, und UB bedeutet das der Compiler doch bitte für die Platform etwas Sinnvolles machen soll. Eine CPU mit 2-er Kompliment soll da einfach einen Wraparound machen. Das erwarte ich mir jedenfalls, weil es das nächstl...
von udok
29.04.2023, 09:48
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C - Differenzen von zwei unsigned int?
Antworten: 26
Zugriffe: 1704

Re: C - Differenzen von zwei unsigned int?

Bei einer unsigned Variable ist ein Overflow ein Wraparound (UINT_MAX+1 wird zu 0). Bei einer signed Variable ist ein Overflow laut C-Standard UB und kann theoretisch einen Interrupt auslösen. Alle mir bekannten CPUs verwenden heute 2-er Kompliment für UINT und für INT Berechnungen, mit Ausnahme von...
von udok
03.01.2023, 19:56
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7527
Zugriffe: 1460509

Re: Jammer-Thread

Krishty hat geschrieben: 03.01.2023, 15:49 Den Fehler dann hoffentlich auch gemeldet?
Hast du einen Link, wo man das melden kann?
von udok
03.01.2023, 13:21
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7527
Zugriffe: 1460509

Re: Jammer-Thread

15 Minuten verschwendet, um festzustellen, dass MS Programmierer überbezahlt sind... Das Programm liefert 2x denselben String mit cl.exe -O1 x.c übersetzt: #include <stdio.h> int main() { puts("A banner with the strange device 'Migicative'!"); puts("A banner with the strange device 'B...
von udok
02.01.2023, 22:08
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Guter Stil für "Fehlerbehandlungen"?
Antworten: 25
Zugriffe: 1470

Re: Guter Stil für "Fehlerbehandlungen"?

Meine Meinung als Anwender von CAD/PCB Software: Das Programm muss laufen, solange es nur irgendwie geht. Es gibt nichts schlimmeres, als ein Abgabetermin für das Projekt, und dann stürzt die Software kurz davor ab... Sowas erzählt der Anwender auch noch in 5 Jahren im Bekanntenkreis herum, und die ...
von udok
24.12.2022, 11:42
Forum: Allgemeines Talk-Brett
Thema: Daten lokal archivieren - Medium?
Antworten: 32
Zugriffe: 2200

Re: Daten lokal archivieren - Medium?

Ich habe total den gleichen Eindruck. Seit 2015 hat sich gefühlt nichts mehr an den Preisen getan und ich finde sie astronomisch hoch. Wenn ich mich recht erinnere, gibt es auch weltweit nur noch drei Hersteller (Seagate / Toshiba / Western Digital) und entsprechend wenig Wettbewerb. Die aktuellen ...
von udok
29.11.2022, 10:16
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Array-Grösse zur Laufzeit festlegen?
Antworten: 23
Zugriffe: 1622

Re: Array-Grösse zur Laufzeit festlegen?

C99 hat dieses Feature unter dem Namen Variable Length Array eingeführt. Inzwischen halten das viele Leute für keine so gute Idee mehr, da meist vergessen wird sinnvolle Grenzen für die Größe des Arrays zu setzen und zu checken. Damit kann dieses Feature zu allerlei Sicherheitsproblemen führen. Bei...
von udok
29.11.2022, 10:02
Forum: Allgemeines Talk-Brett
Thema: Linkdump
Antworten: 472
Zugriffe: 256341

Re: Linkdump

Es gab auch Architekturen, die kein 2-er Kompliment verwendeten. Viele Digitale Signalprozessoren haben Sättigungsarithmethik - da gibt es keinen Überlauf. Irgendwann gab es auch CPUs mit Betrag und Vorzeichenbit (erste Cray?). Es gibt aber keine CPU, die das Überlaufverhalten hat, das der Gnu Compi...
von udok
28.11.2022, 23:07
Forum: Allgemeines Talk-Brett
Thema: Linkdump
Antworten: 472
Zugriffe: 256341

Re: Linkdump

Man macht damit guten getesteten Code kaputt, und das ist meiner Meinung nach schlecht. Und dazu völlig unnötig. Diese Optimierung bringt in der Praxis ja nichts. Wenn man eine Option -fenable-wrapv-optimization eingebaut hätte, dann wäre das auch ok. C war schon immer sehr "locker" standa...
von udok
28.11.2022, 22:42
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 2786

Re: 4 Bytes in Heap zu int

Da geht es nur um Mikrooptimierungen, die in 99% der Fälle gerade mal ein paar Mikro Joule einsparen. Ich verwende seit Urzeiten den folgenden Header unter Windows: #if _MSC_VER >= 1400 && !__clang__ /* declaration of the intrinsic byteswap functions is in <stdlib.h> */ # pragma intrinsic(_b...
von udok
28.11.2022, 22:36
Forum: Allgemeines Talk-Brett
Thema: Linkdump
Antworten: 472
Zugriffe: 256341

Re: Linkdump

Immer mit -fwrapv compilieren!
Die gcc Entwickler entwickeln leider für ihre abstrakte Maschine, und nicht mehr für die Softwarepraxis.
Der nächste C/C++ Standard schafft diese Auswüchse zum Glück ab.
von udok
28.11.2022, 22:05
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Array-Grösse zur Laufzeit festlegen?
Antworten: 23
Zugriffe: 1622

Re: Array-Grösse zur Laufzeit festlegen?

Geht glaube ich seit C99. Intern wird die _alloca Funktion aufgerufen, die den benötigten Speicher auf dem Stack anlegt.
von udok
28.11.2022, 22:02
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 2786

Re: 4 Bytes in Heap zu int

Schön, das sich da was tut. Aber wenn man den Byteswap anders formuliert, geht es wieder nicht... // vs2022 Ok, clang-cl Ok int byteSwap1(int n) { return ((n & 0xff) << 24u) | ((n & 0xff00) << 8u) | ((n & 0xff0000) >> 8u) | ((n & 0xff000000) >> 24u); } __forceinline unsigned short xb...
von udok
25.11.2022, 09:46
Forum: Grafikprogrammierung
Thema: Welche 2.5D Api nehme ich?
Antworten: 11
Zugriffe: 1017

Re: Welche 2.5D Api nehme ich?

Ich kenne tatsächlich EIN brauchbares Program, das IMGUI verwendet, und auch sehr gut bedienbar ist. Das ist ein Tool für PCB Prints, da werden Motherboard Dateien in einem eigenen Herstellerformat eingelesen,´ und im wesentlich am Bildschirm mit der Info welche Bauteile wo sind angezeigt. Damit las...
von udok
25.11.2022, 09:38
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Visual C++] meine Compilereinstellungen
Antworten: 25
Zugriffe: 14832

Re: [Visual C++] meine Compilereinstellungen

Die Option /Zl unterbindet meistens das Einfügen von Linker Direktiven in das Object File. Das ist nützlich, wenn man nicht mit den Standard-DLLs der verwendeten VS Installation linken möchte. Bei hartnäckigen Fällen hilft auch die Linker Option /nod, die die Default Libs ignoriert. Für deterministi...
von udok
25.11.2022, 09:33
Forum: Grafikprogrammierung
Thema: Welche 2.5D Api nehme ich?
Antworten: 11
Zugriffe: 1017

Re: Welche 2.5D Api nehme ich?

Danke für den Link zu deinem Ex-Hobbyprojekt, das schaut super aus! Ein brauchbares GUI Framework wäre mir schon recht wichtig. Das ist leider ein Trauserspiel, auch unter Windows, wenn man unter 1 MB bleiben will. Was hältst du von Imgui? Kann man damit auch komplexere GUIs machen mit Tabs, Menüs m...
von udok
25.11.2022, 09:11
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Visual C++] meine Compilereinstellungen
Antworten: 25
Zugriffe: 14832

Re: [Visual C++] meine Compilereinstellungen

Manchmal ist auch /Bd hilfreich, das zeigt an mit welchen Optionen der cl1 und cl2 intern aufgerufen wird, inklusive der vordefinierten Makros. Die Option /Bt zeigt an, wie lange das Kompilieren dauert. Option /Bv gibt die Pfade und Versionen der vom Compiler verwendeten Dlls an. Bei hartnäckigen Fe...
von udok
23.11.2022, 00:28
Forum: Grafikprogrammierung
Thema: Welche 2.5D Api nehme ich?
Antworten: 11
Zugriffe: 1017

Re: Welche 2.5D Api nehme ich?

Danke für die vielen guten Tipps und super Links! Es handelt sich wirklich erst mal um ein 2D Programm das aber irgendwann eine 3D Komponente bekommen soll. Der 2D Anteil mit Text ist aber wichtig und soll qualitativ hochwertig ausschauen. Ich habe einfach noch zu wenig Ahnung, wie sich die 2D und 3...
von udok
18.11.2022, 14:18
Forum: Grafikprogrammierung
Thema: Welche 2.5D Api nehme ich?
Antworten: 11
Zugriffe: 1017

Welche 2.5D Api nehme ich?

Hi, Ich bin neu in der Grafikprogrammierung, und brauche etwas Hilfe. Es geht im Prinzip um ein Vektorzeichenprogramm unter Windows 7-10. Zunächst gibt es nur die typischen 2D Elemente (Linien, Kreise, Ellipsen, Rechtecke, Texte). In der Zukunft sollen aber auch 3D Objekte dazukommen, also Richtung ...
von udok
09.11.2022, 20:05
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: 4 Bytes in Heap zu int
Antworten: 36
Zugriffe: 2786

Re: 4 Bytes in Heap zu int

Auch auf 64 Bit x86 wird nur auf 32 Bit hochgecastet (promoted), da int nur 32 bit hat, printf("%p\n", -1) liefert 00000000FFFFFFFF.
von udok
09.09.2022, 15:47
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 28088

Re: Sammelthread zu Visual C++’ Compiler

Ich komme aus der HW nahen Programmierung, mit zeitkritischen Sachen auf einem DSP, ARM Cortex und früher auch 8051. Da kommt es schon vor, auf write-only Speicheraddressen zu schreiben, um etwa einen ADC zu triggern. Da ist es wichtig, dass der Compiler den C Code nicht durcheinanderwürfelt. Der Co...
von udok
09.09.2022, 14:20
Forum: Algorithmen und Datenstrukturen
Thema: C/C++ Benchmark - Effizientes Suchen
Antworten: 4
Zugriffe: 918

Re: C/C++ Benchmark - Effizientes Suchen

Ich habe den Code wieder rausgelöscht, weil der ohne Support nur schwer verwendbar ist.

Gruss,
Udo
von udok
08.09.2022, 10:40
Forum: Algorithmen und Datenstrukturen
Thema: C/C++ Benchmark - Effizientes Suchen
Antworten: 4
Zugriffe: 918

Re: C/C++ Benchmark - Effizientes Suchen

Code noch da? Dann können wir selber auch benchen :D Ist noch da, aber ist ein Wirrwarr aus Skripten. Der ist sicher nicht einfach zu verwenden. Ich schau mal was ich machen kann... Vielleicht liegt es daran, dass mein Suchkey in einem 32 Byte struct drinnen ist, und das Memory Interface limitiert....
von udok
08.09.2022, 10:14
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 28088

Re: Sammelthread zu Visual C++’ Compiler

Kleiner verstehe ich, aber schneller? Vor allem mit SSE sollte alles vor VS 2017 (oder sogar 2019, hab’s vergessen) drastisch langsamer sein … Der rechenintensive SSE Teil verwendet Bibliotheksfunktionen oder Intel Intrinsics. Bei meinen Tests ist O1 etwa gleich schnell wie O2. Der Code ist aber ha...
von udok
07.09.2022, 11:36
Forum: Algorithmen und Datenstrukturen
Thema: C/C++ Benchmark - Effizientes Suchen
Antworten: 4
Zugriffe: 918

C/C++ Benchmark - Effizientes Suchen

Ich habe ja vor Ewigkeiten etliche Tests zu verschiedenen Suchmethoden gemacht. Damit die Daten nicht nur auf der Platte vergammeln, möchte ich sie hier vorstellen, vielleicht helfen sie, die graue Theorie abzurunden... Und wenn man ein zeitkritisches Suchproblem hat, dann geben die Zahlen einen Anh...
von udok
07.09.2022, 10:32
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 28088

Re: Sammelthread zu Visual C++’ Compiler

Ich habe jetzt mal schnell ein Hello-World Program in C und C++ mit WinDDK 7.10 und VS2022 kompiliert. Der VS2022 kompiliert gefühlt 4x so lange, und das Ergebnis ist trotz all dem frischen Gehirnschmalz schlechter. Alles ist statisch gelinkt. C mit Win32 wsprintf (ohne C-Runtime) VS2022: 566 Bytes ...
von udok
07.09.2022, 09:54
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Sammelthread zu Visual C++’ Compiler
Antworten: 99
Zugriffe: 28088

Re: Sammelthread zu Visual C++’ Compiler

Wenn ihr z.B. float zu int konvertiert, ist reinterpret_cast undefiniertes Verhalten (obwohl Visual C++ es frisst) und union ebenfalls (obwohl GCC/Clang es fressen). Um standardkonform zu sein, solltet ihr das via memcpy() machen (ist übrigens auch in allen aktuellen Compilern die am besten optimie...
von udok
07.09.2022, 08:31
Forum: Vorstellungsbereich
Thema: Mein Dateioptimierungstool
Antworten: 31
Zugriffe: 5487

Re: Mein Dateioptimierungstool

Ich habe es dir per Email geschickt.
Was mir jetzt noch aufgefallen ist: Wenn ich das Tool zumache, laufen die Prozesse im Hintergrund weiter (stundenlang). Ich muss sie händisch killen,
am Laptop nervt der Lüfter schon ziemlich.