Die Suche ergab 467 Treffer

von kaiserludi
04.11.2011, 16:12
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: write to va_arg standard-konform?
Antworten: 9
Zugriffe: 1067

Re: write to va_arg standard-konform?

OK, damit hätte ich nicht gerechnet:
die neue Version mit sprintf-Aufrufen für jeden Parameter und für jedes Stück Formatstring zwischen 2 Parametern kostet nur 75% der Zeit, die die alte Version mit nur einem sprintf-Aufruf benötigt hat :shock:
Naja, mir solls recht sein.
von kaiserludi
04.11.2011, 12:38
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: write to va_arg standard-konform?
Antworten: 9
Zugriffe: 1067

Re: write to va_arg standard-konform?

Hmm, anscheinend ist die einzige Möglichkeit, die Parameter einzeln an mehrere snprintf()-Aufrufe zu übergeben:
http://stackoverflow.com/questions/4535 ... ist-on-gcc
von kaiserludi
03.11.2011, 22:59
Forum: Algorithmen und Datenstrukturen
Thema: Ctor einer Klasse aufrufen, die so heißt wie eine Methode
Antworten: 28
Zugriffe: 10891

Re: Ctor einer Klasse aufrufen, die so heißt wie eine Method

Hat sicher seine Reize, leider auch eine viel zu kryptische Syntax. Wenn ich schon sehe, dass manche Typen kleingeschrieben werden und andere komplett groß, dann denk ich mir, next. Also es geht in gewisser Weise in die Richtung, aber ist zu unleserlich für meinen Geschmack. Da ist es in C++ ja noc...
von kaiserludi
03.11.2011, 22:35
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: write to va_arg standard-konform?
Antworten: 9
Zugriffe: 1067

Re: write to va_arg standard-konform?

Ist ein vereinfachtes Beispiel. Im Konkreten Anwendungsfall habe ich eine Library vorliegen, welche fleißig SNWPRINTF nutzt, was unter VS als vsnprintf defineirt ist und unter GCC als vsprintf (GCC vsprintf verhält sich praktisch wie VS vsnprintf, während das VS vsprintf einen Parameter weniger will...
von kaiserludi
03.11.2011, 19:27
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: write to va_arg standard-konform?
Antworten: 9
Zugriffe: 1067

write to va_arg standard-konform?

Folgender Code funzt in VS ohne Probleme: va_arg(argptr, int) = 1000; Clang hingegen meint: "Expression is not assignable". GCC meint: "lvalue required as left operand of assignment". Hier steht nichts davon, ob die Expression nun ein l-value sein muss oder kann oder nicht sein d...
von kaiserludi
03.11.2011, 18:11
Forum: Algorithmen und Datenstrukturen
Thema: Ctor einer Klasse aufrufen, die so heißt wie eine Methode
Antworten: 28
Zugriffe: 10891

Re: Ctor einer Klasse aufrufen, die so heißt wie eine Method

Tut mir leid. Ich hab mich glaube ich nicht ganz verständlich ausgedrückt. Ich bin keineswegs ein Fan von xml. Ich wollte nur sagen, dass man Klassen, Hierarchien usw auch in beliebigen anderen Sprachen beschreiben kann und dass es meiner Meinung nach nicht wirklich "Code" ist, sondern eh...
von kaiserludi
02.11.2011, 22:28
Forum: Algorithmen und Datenstrukturen
Thema: Ctor einer Klasse aufrufen, die so heißt wie eine Methode
Antworten: 28
Zugriffe: 10891

Re: Ctor einer Klasse aufrufen, die so heißt wie eine Method

wieso nicht einfach gettern ein get vorranstellen, also getPosition(), statt position()? Es verrät zu viel über die Interna. Wenn eine Methode getXXX() heißt, dann erwarte ich, dass sie den Wert tatsächlich in annähernd O(0) aus dem Speicher liest. Ich erwarte dann außerdem, dass dann ebenfalls all...
von kaiserludi
02.11.2011, 21:01
Forum: Algorithmen und Datenstrukturen
Thema: Ctor einer Klasse aufrufen, die so heißt wie eine Methode
Antworten: 28
Zugriffe: 10891

Re: Ctor einer Klasse aufrufen, die so heißt wie eine Method

wieso nicht einfach gettern ein get vorranstellen, also getPosition(), statt position()?
von kaiserludi
02.11.2011, 13:31
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Makros und String Concatenation
Antworten: 2
Zugriffe: 557

Makros und String Concatenation

Moin.
Wieso funktioniert zwar folgendes:

Code: Alles auswählen

#define WIDEN2(str) (L ## str)
#define WIDEN(str) WIDEN2(str)
#define __FILEW__ WIDEN(__FILE__)
Aber nicht folgendes:

Code: Alles auswählen

#define WIDEN(str) (L ## str)
#define __FILEW__ WIDEN(__FILE__)
?
von kaiserludi
01.11.2011, 19:09
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

// format specifiers: #define FRMT_SPCFR_STRTOSTR_A ((EG_CHAR*)"s") #define FRMT_SPCFR_WSTRTOSTR_A ((EG_CHAR*)"ls") // "%S" would also work #if defined _EG_WINDOWS_PLATFORM || (defined _EG_MARMALADE_PLATFORM && !defined I3D_ARCH_ARM) # define FRMT_SPCFR_STRTOWS...
von kaiserludi
25.10.2011, 19:09
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

// Formatierte Stringausgabe in C: // ascii string in formatierten ascii string Ausgabe: printf("%s\n", "foo0"); // VS: ok, GCC: ok - wie erwartet printf("%S\n", "foo1"); // VS: nicht ok, GCC: nicht ok - wie erwartet printf("%hs\n", "foo2"...
von kaiserludi
25.10.2011, 19:07
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Dafür gibt es aber offensichtlich keinen Bedarf, sonst würden sies sofort implementieren. Und selbst wenn würde das nichts am Problem ändern, dass die WinAPI mit C90 kompatibel sein muss. Natürlich könnte man mit #ifdef __cplusplus was machen...aber wir kommen vom Thema ab ;) Demnach gibts auch kei...
von kaiserludi
25.10.2011, 18:26
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Die Alternative wäre, dass MS nach 12 Jahren endlich mal C99 unterstützt, wie es der GCC schon ewig macht...
von kaiserludi
25.10.2011, 18:09
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

// Formatierte Stringausgabe in C: // ascii string in formatierten ascii string Ausgabe: printf("%s\n", "foo0"); // VS: ok, GCC: ok - wie erwartet printf("%S\n", "foo1"); // VS: nicht ok, GCC: nicht ok - wie erwartet printf("%hs\n", "foo2"...
von kaiserludi
25.10.2011, 17:01
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

// Formatierte Stringausgabe in C: // ascii string in formatierten ascii string Ausgabe: printf("%s\n", "foo0"); // VS: ok, GCC: ok - wie erwartet printf("%S\n", "foo1"); // VS: nicht ok, GCC: nicht ok - wie erwartet printf("%hs\n", "foo2"...
von kaiserludi
25.10.2011, 02:16
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Gehe ich korrekt in der Annahme, dass der Präprozessor als reiner Textersetzer aus std::max(a, b) dann std::((a<b)?b:a) macht, was der Compiler dann natürlich nicht versteht? Exakt. Und der Programmierer versteht die daraus resultierenden Fehlermeldungen in der Regel noch weniger... Was lernen wir ...
von kaiserludi
25.10.2011, 02:06
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Jetzt würde mich aber interessieren, warum er das max im std-namespace nicht findet, wenn es ein globales max-define gibt?
Gehe ich korrekt in der Annahme, dass der Präprozessor als reiner Textersetzer aus std::max(a, b) dann std::((a<b)?b:a) macht, was der Compiler dann natürlich nicht versteht?
von kaiserludi
25.10.2011, 01:32
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Nicht wenn das std:: dort steht und eben genau das ist der Punkt, denn eigentlich sollte es kompilieren. Nun ist die Frage warum es das nicht tut... Dort steht nirgends, dass max laut Standard zum namespace stl gehört, nur dass es zu den stl-Algorithmen gehört, was nicht ausschließt, dass es im glo...
von kaiserludi
25.10.2011, 00:57
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Wer immer Makros für eine tolle Idee hält, den bitte ich, folgenden Code zu kompilieren: #include <windows.h> #include <iostream> #include <algorithm> int main() { int a, b; std::cin >> a >> b; std::cou << "max(a, b) = " << std::max(a, b); } Wenn, dann so: #include <windows.h> #include <i...
von kaiserludi
24.10.2011, 22:22
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

Ach, printf-Syntax ist doch was feines: Gerade zur Vermeidung von magic-numbers bei der Angabe des Mindestplatzes für bestimmte Parameter einen Formatstring genutzt, der das Format für die Kreation des eigentlichen Formatstrings, welcher dann den tatsächlichen String kreiert, festlegt. Sieht dann so...
von kaiserludi
24.10.2011, 21:08
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Die gesamte Vektorklasse ist die Realisierung des Konzepts, arithmetische Operatoren zu implementieren, mit einem spezifischen Datentyp. Und dieser Datentyp ist wiederum die Realisierung des Konzepts eines Arrays, auf das jede Operation parallel angewandt wird, mit einem bestimmten Datentyp und ein...
von kaiserludi
24.10.2011, 18:55
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

ic ich glaube ich habe noch eine etwas ältere version gehabt. Als Java Freund ist man es ja gar nicht gewöhnt so genau hinzuschauen. Als ich damals an einem App entwickelt hab, habe ich also erst mal laufend irgendwelche unbekannten signale verschickt... Das war dann der Moment an dem ich begonnen ...
von kaiserludi
24.10.2011, 16:29
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

ObjC ist voll von solchen Späßen. Sicher das man nicht irgendwo die höchste Warnstufe einstellen kann und das dann angezeigt wird? Sowas wie warning-level gibts im gcc/clang ja nicht, man kann eben einen Haufen warnings einzeln an- und abschalten und natürlich alles an und dann treat warnings as er...
von kaiserludi
24.10.2011, 15:55
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1558117

Re: Jammer-Thread

Entdeckung des Tages: Man kann objC Properties statt auf existierende Variablen einfach auf nicht existente wie z.B. einfache Tippfehler zugreifen lassen, gibt kein Warning, kein nichts, es wird dann einfach eine Variable erzeugt und den Compiler interessiert es nicht die Bohne, dass die nirgends in...
von kaiserludi
24.10.2011, 15:42
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Tipps & Tricks] bad programming
Antworten: 123
Zugriffe: 17488

Re: [Tipps & Tricks] bad programming

Netter tipp...durch den Preprozessor wird sich oft widerholender Code eingespart, ohne gleich inline-methoden verwenden zu müssen. Ich hoffe doch mal das war Ironie!? Also ich finde die Klasse auch ganz nett. Ich kann euch auch nur raten, die Finger von solchem Blödsinn zu lassen. Templates und inl...
von kaiserludi
22.10.2011, 23:37
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2059
Zugriffe: 723579

Re: Anti-Jammer-Thread

Keine STL, absolut minimale CRT-Nutzung, boost ziehe ich garnicht erst in Betracht und WinAPI/DirectX existieren nur hinter Wrappern (landen also nur in zwei oder drei von zehn Übesetzungseinheiten). (KA, was die ganzen Header alles machen, aber performant ist es nicht.) Das kanns nicht sein. Bei m...
von kaiserludi
22.10.2011, 23:26
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2059
Zugriffe: 723579

Re: Anti-Jammer-Thread

Viel Spaß damit, wenn jedes Kompilieren so lange dauert wie ein kompletter Rebuild der gesamten Solution *g* Aktuelles Projekt mit 1 MiB Quelltext in 20 Übersetzungseinheiten ( .cpp -Dateien) und 70 Headern, im Debug-Modus: 1>Build succeeded. 1> 1>Time Elapsed 00:00:01.89 ========== Rebuild All: 1 ...
von kaiserludi
22.10.2011, 22:16
Forum: Allgemeines Talk-Brett
Thema: Anti-Jammer-Thread
Antworten: 2059
Zugriffe: 723579

Re: Anti-Jammer-Thread

Viel Spaß damit, wenn jedes Kompilieren so lange dauert wie ein kompletter Rebuild der gesamten Solution *g*
von kaiserludi
18.10.2011, 22:14
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Speicherverwaltung ein fall für die Engine?
Antworten: 36
Zugriffe: 5721

Re: Speicherverwaltung ein fall für die Engine?

Selbst wenn man einen eigenen Allokator schreibt, kommt man nicht drumherum mehr Speicher zu nutzen, als reserviert wird alleine schon aus Debuggründen, z.B. um Falschzugriffe erkennen zu können. Dafür gibts doch Debug- und Release-Configs ;) Ach ihr habt doch nur Glück, dass euer Registrierungsdat...