Seite 109 von 252

Re: Jammer-Thread

Verfasst: 22.04.2013, 21:19
von Krishty
dot hat geschrieben:Also ich bin mir net sicher ob das dein Problem ist, aber ich hab bei meinem Browser Englisch als preferred Language eingestellt und komm immer auf die englische Seite. Ansonsten kannst du dir zumindest die englische MSDN als Search Provider einrichten... ;)
Ach, so macht man das heute: Wenn die Scheiße bauen, bügeln wir das bei uns aus, indem wir alle unsere Browser umstellen. Genau.

Re: Jammer-Thread

Verfasst: 22.04.2013, 21:51
von Artificial Mind
Anderer trick: die url von de-de auf en-us umstellen.

Re: Jammer-Thread

Verfasst: 22.04.2013, 22:06
von antisteo
Krishty hat geschrieben:
dot hat geschrieben:Also ich bin mir net sicher ob das dein Problem ist, aber ich hab bei meinem Browser Englisch als preferred Language eingestellt und komm immer auf die englische Seite. Ansonsten kannst du dir zumindest die englische MSDN als Search Provider einrichten... ;)
Ach, so macht man das heute: Wenn die Scheiße bauen, bügeln wir das bei uns aus, indem wir alle unsere Browser umstellen. Genau.
Dafür, dass du nix zahlst, kann man das doch schon mal von dir verlangen ;)

Re: Jammer-Thread

Verfasst: 23.04.2013, 08:39
von Schrompf
Meine Hardware stirbt. Schon wieder. Bluescreen mit Fehler 0x00000101, "A clock cycle wasn't received by a secondary processor" oder so ähnlich. Fuck. Fuck. FUCK! Nicht gerade jetzt!
Weitsprung.gif
Weitsprung.gif (1.75 MiB) 3268 mal betrachtet

Re: Jammer-Thread

Verfasst: 25.04.2013, 01:05
von Krishty
Visual C++ erlaubt das abstract-Schlüsselwort in einer Klassendefinition:

    class Foo abstract {

Das steht zwar nicht im Standard, hilft aber genau wie seine Brüder final und override, Polymorphie besser statisch überprüfbar zu machen. Dummerweise ist es auch eine verpasste Optimierungsmöglichkeit, denn es lässt novtable außer Acht:

    class __declspec(novtable) Foo abstract { // besser

Falls die Klasse über keinen K’tor / D’tor / nicht-öffentliche oder statische Member verfügt, ist die Ideallösung:

    __interface Foo { // am besten

weil das wie oben ist, nur mit stärkerer statischer Prüfung (und alle Methoden sind automatisch virtual = 0). Benutzt nicht das oft gesehene

    interface Foo {

weil das ein Makro ist, das „nur“ zu

    struct __declspec(novtable) Foo {

auflöst und damit am wenigsten restriktiv ist.

Ich freue mich auf zehntausend weitere Beispiele, wie man mit Visual C++ eine Klasse suboptimal deklarieren kann m[

Re: Jammer-Thread

Verfasst: 25.04.2013, 13:12
von Schrompf
"Visual Studio funktioniert nicht mehr und muss neugestartet werden." - Tja, warum drücke ich auch Strg+Tab, sowas macht man ja auch nicht.
zeig respekt.gif
zeig respekt.gif (1.88 MiB) 3078 mal betrachtet

Re: Jammer-Thread

Verfasst: 25.04.2013, 13:17
von Artificial Mind
Meine embedded Mono Umgebung produziert keine NullReferenceException mehr sondern crasht einfach mit einem Segfault. Der gdb Debugger springt dann in den geJITteten .NET Code, dessen Stacktrace natürlich nur aus "??" besteht. Ich kann mir dann die schöne JIT-Disassembly angucken. Thanks, very fucking useful.

Re: Jammer-Thread

Verfasst: 25.04.2013, 21:38
von Krishty
Ich habe über Visual Studio 2012s Optionen Debug-Symbole runtergeladen … und dann hat sich das Thema von Dark zu Light geändert. WTF

Bild

Re: Jammer-Thread

Verfasst: 26.04.2013, 19:57
von Krishty
Boah ist die HID API ein ranziger Mist. Ich schreibe das Interpretieren jetzt zum vierten Mal neu, und wieder nichts als Stochern im Nebel.

Die API gibt mir Indizes. Ich finde aber nirgends in der Dokumentation, wie ich den höchsten Index bestimmen kann oder ob die Indizes fortlaufend sind – sie nennen sie nur zero-based und unique. Ich könnte das jetzt so realisieren, dass alle Indizes, die mir die API gibt, via Tabelle in O(1) zu Speicheradressen meiner internen Objekte konvertiert werden – wenn ich wüsste, wie viele kommen und dass die fortlaufend sind. Jetzt läuft es auf eine O(log(n))- oder O(n)-Suche in einem sortierten Array hinaus.

Weiterhin habe ich dann Indizes, weiß aber nicht, worauf die verweisen. Ja das ist wahr. Da könnten sich zwei verschiedene Objekttypen hinter verstecken, und welches nun zu welchem Index gehört, muss ich über ganz andere Unwege erfragen.

Aus einem simplen usage = j; wird so ein dreifach indirekter, zwei Arrays miteinander vergleichender Quelltextwulst. WARUM

Re: Jammer-Thread

Verfasst: 29.04.2013, 20:38
von Niki
4 Stunden lang habe ich den C#-Port meiner Spektralsynthese für Landschaften und die Normalenberechnung für die Beleuchtung debuggt. Und wofür? Für nichts und wieder nichts und noch mehr nichts. Es war alles von Anfang an korrekt, jedoch hatte ich den Lichtvektor zur Sonne so dumm gewählt, dass mein Hirn das Ergebnis vollkommen falsch interpretiert hat. Da habe ich 4 Stunden nicht hingeschaut, weil's nur mal eben eine temporäre Beleuchtung sein sollte...

EDIT: Noch ein wenig Anti-Jammer: Da ich hier sonst noch nie was gezeigt habe und ich meine Webserver-Daten endlich wiedergefunden habe, soll auch mal das Ergebnis gezeigt werden. Der Screen zeigt die Spektralsynthese innerhalb eines Ausschnitts des C# Editors an dem ich arbeite. Das ist alles noch ganz am Anfang, auch die Landschaft ist noch mehr als popelig. Wenn ich weiter bin, dann werde ich dafür evtl. einen Projekt-Thread aufmachen und den Quelltext zur Verfügung stellen.

Bild

Re: Jammer-Thread

Verfasst: 29.04.2013, 21:27
von Schrompf
Sieht nach ner sehr coolen Landschaft aus! Mich würde in der Tat interessieren, wie die entstanden ist. Oder ist das eine Höhenkarte aus der echten Welt?

Re: Jammer-Thread

Verfasst: 29.04.2013, 21:37
von Niki
Schrompf hat geschrieben:Mich würde in der Tat interessieren, wie die entstanden ist. Oder ist das eine Höhenkarte aus der echten Welt?
Die ist zufällig mit einer Spektralsynthese generiert. Kannst du dir vorstellen wie FFT Wasser. Erst wird ein bestimmtes Frequenzbild mit komplexen Zahlen gebaut, und wenn man das dann durch einen Inversen FFT jagt, dann ist das Ergebnis eine teilbare Landschaft (beachte, dass das Bild oben teilbar ist). Die flachen Ränder an der Küste sind im Nachhinein entstanden, durch eine Pow-Skalierung des Höhenfeldes.
Mein Ziel ist es mehrere Landschaftsgeneratoren zu basteln (Spektral, Multifraktal, etc) und diese dann zu blenden und danach noch mit Filtern zu verändern. Wie du im Menü links erkennen kannst läuft das ganze auf einen Editor für große Outdoor-Welten hinaus.

Re: Jammer-Thread

Verfasst: 30.04.2013, 16:59
von spobat
Was kann man (unbewusst?) verstellt haben, dass ich auf meiner Window 8 Installation nicht mehr nach Apps und auch nicht mehr nach Dateien suchen kann?
Bewege ich meinen Mauszeiger zum oberen rechten Bildschirmrand und waehle "search" aus, dann bekomme ich sowas zu sehen.
Bild

>> "This app can't be searched" (where "this app" is Windows 8).. makes sense, right?

Bei einer mit `ENTER` endenden Eingabe wird direkt in/mit "Bing" (Gott steh uns bei) gesucht.

Re: Jammer-Thread

Verfasst: 30.04.2013, 22:15
von eXile
Hast du das Feature „Windows Search“ unter Control Panel→Programs→Turn Windows Features on or off entfernt?

Re: Jammer-Thread

Verfasst: 01.05.2013, 10:39
von spobat
Das wars! Irgendwie muss ich da wohl was verstellt haben.. Danke dir vielmals!

Re: Jammer-Thread

Verfasst: 01.05.2013, 12:08
von Krishty
Boah; wer hat sich bloß dieses schei __DATE__-Makro ausgedacht?! Monat, Tag, Jahr?! WIRKLICH?! Und dann den Monat als dreigebuchstabten String?! Den Tag mit einfachem oder doppeltem Leerraum?! WTF?!
Bild

Ich habe mir jetzt folgendermaßen ein Datum im ISO-Format zusammengeschustert. Sekunden fehlen weil ihr mich bitte erschießt sobald ich mehr als eine Programmversion pro Minute veröffentliche:

    static int const buildMonth =
        (__DATE__[0] == 'J' && __DATE__[1] == 'a')                          ? 1 :
        (__DATE__[0] == 'F')                                                ? 2 :
        (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r')    ? 3 :
        (__DATE__[0] == 'A' && __DATE__[1] == 'p')                          ? 4 :
        (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y')    ? 5 :
        (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n')    ? 6 :
        (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l')    ? 7 :
        (__DATE__[0] == 'A' && __DATE__[1] == 'u')                          ? 8 :
        (__DATE__[0] == 'S')                                                ? 9 :
        (__DATE__[0] == 'O')                                                ? 10 :
        (__DATE__[0] == 'N')                                                ? 11 :
        (__DATE__[0] == 'D')                                                ? 12 :
        0;

    static char const ansiDateAndTime[] = {
        __DATE__[ 7], __DATE__[ 8], __DATE__[ 9], __DATE__[10], // YYYY
        '-',
        '0' + (buildMonth / 10u), '0' + (buildMonth % 10u),     // MM
        '-',
        ' ' != __DATE__[4] ? __DATE__[4] : '0', __DATE__[5],    // DD
        ' ',
        __TIME__[0], __TIME__[1],                               // hh
        ':',
        __TIME__[3], __TIME__[4]                                // mm
    };


STOP:
Visual C++ kriegt das nicht beim Kompilieren aufgelöst sondern baut den String zur Laufzeit zusammen. Ich werde mal nachsehen, wie ich das hingebogen kriege.

Re: Jammer-Thread

Verfasst: 01.05.2013, 13:19
von Krishty
HA HA das ist echt unglaublich

aaalso:

__DATE__ und __TIME__ werden von Visual C++ nicht statisch ausgewertet, sondern wie ein Laufzeitwert behandelt.

Dafür gibt es einen Workaround:

    ""__DATE__;
    ""__TIME__;


Offenbar zwingt das Visual C++, intern andere Strings anzulegen, die dann nicht mehr wie Laufzeitwerte behandelt werden. Das hat aber nicht immer funktioniert! Stabiler ist:

    static char const xxDATExx[] = __DATE__;
    static char const xxTIMExx[] = __TIME__;


Das funktioniert aber nur für die allererste Indirektion! Das bedeutet:

    static char const x = xxDATExx[0]; // statisch
    static char const y = x; // dynamisch


Lustig, oder? Für __TIME__ funktioniert es übrigens für mindestens zwei Indirektionen:

    static char const x = xxTIMExx[0]; // statisch
    static char const y = x; // statisch


Wiedemauchsei. Mein Quelltext sieht nun so aus und wird unter Visual C++ 2012 für x64 statisch aufgelöst:

    // Force static evaluation in Visual C++ by copying the literals:
    static char const xxTIMExx[] = __TIME__;
    static char const xxDATExx[] = __DATE__;

    static char const buildDateAndTime[] = {
        // YYYY
        xxDATExx[ 7],
        xxDATExx[ 8],
        xxDATExx[ 9],
        xxDATExx[10],
        '-',
        // Literals are evaluated statically only for the first indirection — i.e., the comparison must take place right here.
        //    The first character of month is '0' for October, November, and December.
        (xxDATExx[0] == 'O' || xxDATExx[0] == 'N' || xxDATExx[0] == 'D') ? '1' : '0',
        //    The second character is
        //        '1' for January (don't confuse with June or Juli) or November;
        //        '2' for February or December;
        //        '3' for March (don't confuse with May);
        //        …
        ((xxDATExx[0] == 'J' && xxDATExx[1] == 'a') || xxDATExx[0] == 'N') ? '1' :
        (xxDATExx[0] == 'F' || xxDATExx[0] == 'D')                         ? '2' :
        (xxDATExx[0] == 'M' && xxDATExx[1] == 'a' && xxDATExx[2] == 'r')   ? '3' :
        (xxDATExx[0] == 'A' && xxDATExx[1] == 'p')                         ? '4' :
        (xxDATExx[0] == 'M' && xxDATExx[1] == 'a' && xxDATExx[2] == 'y')   ? '5' :
        (xxDATExx[0] == 'J' && xxDATExx[1] == 'u' && xxDATExx[2] == 'n')   ? '6' :
        (xxDATExx[0] == 'J' && xxDATExx[1] == 'u' && xxDATExx[2] == 'l')   ? '7' :
        (xxDATExx[0] == 'A' && xxDATExx[1] == 'u')                         ? '8' :
        (xxDATExx[0] == 'S')                                               ? '9' : '0',
        '-',
        // DD
        ' ' == xxDATExx[4] ? '0' : xxDATExx[4],
        xxDATExx[5],
        ' ',
        // hh
        xxTIMExx[0],
        xxTIMExx[1],
        ':',
        // mm
        xxTIMExx[3],
        xxTIMExx[4],
        '\0'
    };

Re: Jammer-Thread

Verfasst: 01.05.2013, 13:32
von CodingCat
Um dem ganzen die Krone aufzusetzen: GCC 4.8 wertet diesen Text nun nicht mehr statisch aus. Dort funktioniert statische Auswertung nur bei direkter Verwendung von __DATE__ und __TIME__. Clang brilliert wie immer und optimiert beides.

Entsprechende GCC-Explorer-Links überfordern phpBB leider gerade maßlos. Ohne Verlinkung pasten geht wohl:
GCC Explorer Link: Keine statische Auswertung hat geschrieben:gcc.godbolt.org/#%7B%22version%22%3A3%2C%22filterAsm%22%3A%7B%22labels%22%3Atrue%2C%22directives%22%3Atrue%2C%22commentOnly%22%3Atrue%7D%2C%22compilers%22%3A%5B%7B%22source%22%3A%22%23include%20%3Ccstdio%3E%5Cn%5Cn%20%20%20%20%2F%2F%20Force%20static%20evaluation%20in%20Visual%20C%2B%2B%20by%20copying%20the%20literals%3A%5Cn%20%20%20%20static%20char%20const%20xxTIMExx%5B%5D%20%3D%20__TIME__%3B%5Cn%20%20%20%20static%20char%20const%20xxDATExx%5B%5D%20%3D%20__DATE__%3B%5Cn%5Cn%20%20%20%20static%20char%20const%20ansiDateAndTime%5B%5D%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20YYYY%5Cn%20%20%20%20%20%20%20%20xxDATExx%5B%207%5D%2C%5Cn%20%20%20%20%20%20%20%20xxDATExx%5B%208%5D%2C%5Cn%20%20%20%20%20%20%20%20xxDATExx%5B%209%5D%2C%5Cn%20%20%20%20%20%20%20%20xxDATExx%5B10%5D%2C%5Cn%20%20%20%20%20%20%20%20'-'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20Literals%20are%20evaluated%20statically%20only%20for%20the%20first%20indirection%20%E2%80%94%20i.e.%2C%20the%20comparison%20must%20take%20place%20right%20here.%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20The%20first%20character%20of%20month%20is%20'0'%20for%20October%2C%20November%2C%20and%20December.%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'O'%20%7C%7C%20xxDATExx%5B0%5D%20%3D%3D%20'N'%20%7C%7C%20xxDATExx%5B0%5D%20%3D%3D%20'D')%20%3F%20'1'%20%3A%20'0'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20The%20second%20character%20is%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'1'%20for%20January%20(don't%20confuse%20with%20June%20or%20Juli)%20or%20November%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'2'%20for%20February%20or%20December%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'3'%20for%20March%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20%E2%80%A6%5Cn%20%20%20%20%20%20%20%20((xxDATExx%5B0%5D%20%3D%3D%20'J'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'a')%20%7C%7C%20xxDATExx%5B0%5D%20%3D%3D%20'N')%20%3F%20'1'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'F'%20%7C%7C%20xxDATExx%5B0%5D%20%3D%3D%20'D')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'2'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'M'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'a'%20%26%26%20xxDATExx%5B2%5D%20%3D%3D%20'r')%20%20%20%3F%20'3'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'A'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'p')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'4'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'M'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'a'%20%26%26%20xxDATExx%5B2%5D%20%3D%3D%20'y')%20%20%20%3F%20'5'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'J'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'u'%20%26%26%20xxDATExx%5B2%5D%20%3D%3D%20'n')%20%20%20%3F%20'6'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'J'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'u'%20%26%26%20xxDATExx%5B2%5D%20%3D%3D%20'l')%20%20%20%3F%20'7'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'A'%20%26%26%20xxDATExx%5B1%5D%20%3D%3D%20'u')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'8'%20%3A%5Cn%20%20%20%20%20%20%20%20(xxDATExx%5B0%5D%20%3D%3D%20'S')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'9'%20%3A%20'0'%2C%5Cn%20%20%20%20%20%20%20%20'-'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20DD%5Cn%20%20%20%20%20%20%20%20'%20'%20%3D%3D%20xxDATExx%5B4%5D%20%3F%20'0'%20%3A%20xxDATExx%5B4%5D%2C%5Cn%20%20%20%20%20%20%20%20xxDATExx%5B5%5D%2C%5Cn%20%20%20%20%20%20%20%20'%20'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20hh%5Cn%20%20%20%20%20%20%20%20xxTIMExx%5B0%5D%2C%5Cn%20%20%20%20%20%20%20%20xxTIMExx%5B1%5D%2C%5Cn%20%20%20%20%20%20%20%20'%3A'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20mm%5Cn%20%20%20%20%20%20%20%20xxTIMExx%5B3%5D%2C%5Cn%20%20%20%20%20%20%20%20xxTIMExx%5B4%5D%5Cn%20%20%20%20%7D%3B%5Cn%5Cnint%20main()%5Cn%7B%5Cn%20%20printf(ansiDateAndTime)%3B%5Cn%20%20return%200%3B%5Cn%7D%5Cn%22%2C%22compiler%22%3A%22%2Fusr%2Fbin%2Fg%2B%2B-4.8%22%2C%22options%22%3A%22-O1%20-std%3Dc%2B%2B11%22%7D%5D%7D
GCC Explorer Link: Statische Auswertung hat geschrieben:gcc.godbolt.org/#%7B%22version%22%3A3%2C%22filterAsm%22%3A%7B%22labels%22%3Atrue%2C%22directives%22%3Atrue%2C%22commentOnly%22%3Atrue%7D%2C%22compilers%22%3A%5B%7B%22source%22%3A%22%23include%20%3Ccstdio%3E%5Cn%5Cn%20%20%20%20static%20char%20const%20ansiDateAndTime%5B%5D%20%3D%20%7B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20YYYY%5Cn%20%20%20%20%20%20%20%20__DATE__%5B%207%5D%2C%5Cn%20%20%20%20%20%20%20%20__DATE__%5B%208%5D%2C%5Cn%20%20%20%20%20%20%20%20__DATE__%5B%209%5D%2C%5Cn%20%20%20%20%20%20%20%20__DATE__%5B10%5D%2C%5Cn%20%20%20%20%20%20%20%20'-'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20Literals%20are%20evaluated%20statically%20only%20for%20the%20first%20indirection%20%E2%80%94%20i.e.%2C%20the%20comparison%20must%20take%20place%20right%20here.%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20The%20first%20character%20of%20month%20is%20'0'%20for%20October%2C%20November%2C%20and%20December.%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'O'%20%7C%7C%20__DATE__%5B0%5D%20%3D%3D%20'N'%20%7C%7C%20__DATE__%5B0%5D%20%3D%3D%20'D')%20%3F%20'1'%20%3A%20'0'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20The%20second%20character%20is%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'1'%20for%20January%20(don't%20confuse%20with%20June%20or%20Juli)%20or%20November%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'2'%20for%20February%20or%20December%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20'3'%20for%20March%3B%5Cn%20%20%20%20%20%20%20%20%2F%2F%20%20%20%20%20%20%20%20%E2%80%A6%5Cn%20%20%20%20%20%20%20%20((__DATE__%5B0%5D%20%3D%3D%20'J'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'a')%20%7C%7C%20__DATE__%5B0%5D%20%3D%3D%20'N')%20%3F%20'1'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'F'%20%7C%7C%20__DATE__%5B0%5D%20%3D%3D%20'D')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'2'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'M'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'a'%20%26%26%20__DATE__%5B2%5D%20%3D%3D%20'r')%20%20%20%3F%20'3'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'A'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'p')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'4'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'M'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'a'%20%26%26%20__DATE__%5B2%5D%20%3D%3D%20'y')%20%20%20%3F%20'5'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'J'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'u'%20%26%26%20__DATE__%5B2%5D%20%3D%3D%20'n')%20%20%20%3F%20'6'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'J'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'u'%20%26%26%20__DATE__%5B2%5D%20%3D%3D%20'l')%20%20%20%3F%20'7'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'A'%20%26%26%20__DATE__%5B1%5D%20%3D%3D%20'u')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'8'%20%3A%5Cn%20%20%20%20%20%20%20%20(__DATE__%5B0%5D%20%3D%3D%20'S')%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20'9'%20%3A%20'0'%2C%5Cn%20%20%20%20%20%20%20%20'-'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20DD%5Cn%20%20%20%20%20%20%20%20'%20'%20%3D%3D%20__DATE__%5B4%5D%20%3F%20'0'%20%3A%20__DATE__%5B4%5D%2C%5Cn%20%20%20%20%20%20%20%20__DATE__%5B5%5D%2C%5Cn%20%20%20%20%20%20%20%20'%20'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20hh%5Cn%20%20%20%20%20%20%20%20__TIME__%5B0%5D%2C%5Cn%20%20%20%20%20%20%20%20__TIME__%5B1%5D%2C%5Cn%20%20%20%20%20%20%20%20'%3A'%2C%5Cn%20%20%20%20%20%20%20%20%2F%2F%20mm%5Cn%20%20%20%20%20%20%20%20__TIME__%5B3%5D%2C%5Cn%20%20%20%20%20%20%20%20__TIME__%5B4%5D%5Cn%20%20%20%20%7D%3B%5Cn%5Cnint%20main()%5Cn%7B%5Cn%20%20printf(ansiDateAndTime)%3B%5Cn%20%20return%200%3B%5Cn%7D%5Cn%22%2C%22compiler%22%3A%22%2Fusr%2Fbin%2Fg%2B%2B-4.8%22%2C%22options%22%3A%22-O1%20-std%3Dc%2B%2B11%22%7D%5D%7D

Re: Jammer-Thread

Verfasst: 01.05.2013, 14:28
von Krishty
Ich hatte ganz vergessen, dass mein String keine abschließende Null hatte. Ich hab’s nachgetragen.

Re: Jammer-Thread

Verfasst: 01.05.2013, 17:00
von antisteo
Die IBM-Zertifizierung fragt gar kein Wissen über SQL oder Datenbanken generell ab, sondern nur über Sachen, die die DB2 kann, der Standard aber nie vorschreibt.
Außerdem ist die Usability der DB2-Tools total am Arsch und diese IBM-spezifischen Zusatzfunktionen wie "MERGE" sind absolut speziell und vom Interface her gar nicht durchdacht.

Wenn die DB2 schon Extrafunktionen einbaut, warum nicht solche, die auch die Usability erhöhen?
Vorschläge:
- Dass man auch Skalarwerte fetchen darf, ohne sich auf die Tabelle SYSIBM.SYSDUMMY1 beziehen zu müssen
- Dass man auch nach Werten gruppieren darf, die man nicht zur Ausgabe auswählt
- Dass erst mal die grundlegenden Funktionen zum Umgang mit der interaktiven Shell eingebaut werden, wie z.B. die Benutzung der Pfeiltasten zum Blättern in vergangenen Kommandos oder eine rudimentäre Auto Completion

Ich würde viel lieber ein MySQL-Zertifikat machen, aber das IBM-Zertifikat gibt's halt kostenlos von der Uni.

Re: Jammer-Thread

Verfasst: 01.05.2013, 17:34
von Helmut
Hatte grade einen Bluescreen. Davon abgesehen, dass der unter Win8 absolut lächerlich aussieht hat eins meiner Programm währenddessen alle Einstellungen vergessen. Erste Vermutung wäre, dass es gerade in die Einstellungsdatei schrieb, als der Bluescreen auftauchte. Das kann nur nicht sein, da es die immer erst in eine andere Datei schreibt und die dann per CopyFile mit der alten ersetzt. Einzige Schlussfolgerung die mir einfällt: std::fstream ist verbuggt.

Re: Jammer-Thread

Verfasst: 01.05.2013, 20:02
von eXile
Helmut hat geschrieben:Hatte grade einen Bluescreen. Davon abgesehen, dass der unter Win8 absolut lächerlich aussieht hat eins meiner Programm währenddessen alle Einstellungen vergessen. Erste Vermutung wäre, dass es gerade in die Einstellungsdatei schrieb, als der Bluescreen auftauchte. Das kann nur nicht sein, da es die immer erst in eine andere Datei schreibt und die dann per CopyFile mit der alten ersetzt. Einzige Schlussfolgerung die mir einfällt: std::fstream ist verbuggt.
http://msdn.microsoft.com/en-us/library/windows/desktop/hh802690 hat geschrieben:Applications updating a single file with "document-like" data
Many applications which deal with "document-like" data tend to load the entire document into memory, operate on it, and then write it back out to save the changes. The needed atomicity here is that the changes either are completely applied or not applied at all, as an inconsistent state would render the file corrupt. A common approach is to write the document to a new file, then replace the original file with the new one. One method to do this is with the ReplaceFile API.
Benutzt du CopyFile oder ReplaceFile?

Re: Jammer-Thread

Verfasst: 01.05.2013, 21:41
von Helmut
Ich benutze MoveFileEx mit MOVEFILE_REPLACE_EXISTING. NTFS müsste da eigentlich garantieren, dass da keine korrupten Dateien entstehen. ReplaceFile ist glaube ich nur für das Übertragen der ganzen Attribute. Aber ich werds mal probieren. Zu dumm, dass sich sowas nicht reproduzieren lässt.

Re: Jammer-Thread

Verfasst: 01.05.2013, 22:07
von Krishty
Ist euch schonmal aufgefallen, dass Visual C++ alle enums 4 B groß macht, sofern man es nicht anders befielt?! War da nicht irgendwann mal so eine Regel von wegen gerade eben so groß, dass es passt? Und ich kriege hier kaum noch den Kiefer hoch, wie viel deswegen kopiert wird …

Re: Jammer-Thread

Verfasst: 02.05.2013, 10:26
von Lynxeye
Krishty hat geschrieben:Ist euch schonmal aufgefallen, dass Visual C++ alle enums 4 B groß macht, sofern man es nicht anders befielt?! War da nicht irgendwann mal so eine Regel von wegen gerade eben so groß, dass es passt? Und ich kriege hier kaum noch den Kiefer hoch, wie viel deswegen kopiert wird …
Das schreibt der Standard AFAIR nicht vor. GCC verkleinert enum-Typen auch erst auf die minimale Größe, wenn entweder noch das packed Attribut angegeben wird, oder -fshort-
enums
auf der Kommandozeile übergeben wird.

Re: Jammer-Thread

Verfasst: 02.05.2013, 13:06
von Schrompf
Gestern Abend habe ich nun endlich einen Build von Splatter gebaut, an dem GoodOldGames bewerten will, ob sie das Spiel nun haben wollen oder nicht. Zusammengepackt, hochgeladen, Mail geschrieben, sofort eine Antwort bekommen "I'm out of office from 04/30 to 05/13". Tja. Das werden jetzt zwei lange Wochen.

Bild

Re: Jammer-Thread

Verfasst: 02.05.2013, 20:37
von Krishty
Lynxeye hat geschrieben:
Krishty hat geschrieben:Ist euch schonmal aufgefallen, dass Visual C++ alle enums 4 B groß macht, sofern man es nicht anders befielt?! War da nicht irgendwann mal so eine Regel von wegen gerade eben so groß, dass es passt? Und ich kriege hier kaum noch den Kiefer hoch, wie viel deswegen kopiert wird …
Das schreibt der Standard AFAIR nicht vor. GCC verkleinert enum-Typen auch erst auf die minimale Größe, wenn entweder noch das packed Attribut angegeben wird, oder -fshort-enums auf der Kommandozeile übergeben wird.
Stimmt; ich habe auch nochmal nachgesehen. Der kleinstmögliche Typ ist möglich, aber keine Pflicht. Hrmpf :(

Re: Jammer-Thread

Verfasst: 05.05.2013, 22:53
von TDK
An error has occured and the application will now close.[/b]

Bild

Hat 1 1/2 Tage meines Lebens verbuggt!

Re: Jammer-Thread

Verfasst: 07.05.2013, 18:44
von kaiserludi

Code: Alles auswählen

if([@"" class] == NSClassFromString(NSStringFromClass([@"" class])))
    printf("foo");
else
    printf("bar");
Output on iOS: foo
Output on OS X: bar

WTF, Apple, WTF?

Re: Jammer-Thread

Verfasst: 07.05.2013, 18:46
von Krishty
Bah ich will was aus einem koreanischen Online-Laden bestellen, aber auf deren Website bestehen alle Bedienfelder und die meisten Texte aus Bilddateien mit Koreanisch drauf, und lassen sich dementsprechend nicht maschinell übersetzen … WARUM TUT MAN SOWAS

die Maschinen … wir dachten, sie würden unser Leben einfacher machen …

Bild