Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich hatte gerade einen Driver-Bug.
Debug console hat geschrieben:First-chance exception at 0x000007fefd6dcacd (KernelBase.dll) in .exe: Microsoft C++ exception: _com_error at memory location 0x0025e800..
First-chance exception at 0x000007fefd6dcacd (KernelBase.dll) in .exe: Microsoft C++ exception: _com_error at memory location 0x0025e760..
First-chance exception at 0x000007fefd6dcacd (KernelBase.dll) in .exe: Microsoft C++ exception: _com_error at memory location 0x0025eaa0..
First-chance exception at 0x000007fefd6dcacd (KernelBase.dll) in .exe: Microsoft C++ exception: _com_error at memory location 0x0025e800..
First-chance exception at 0x000007fefd6dcacd (KernelBase.dll) in .exe: Microsoft C++ exception: _com_error at memory location 0x0025e760..
In jedem Frame schmierte der Treiber ab, und musste nach zwei Sekunden vom Watchdog neugestartet werden. Spaß. Ich bin froh, dass ich das Fenster noch abschießen konnte.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Systemupdate... AngelScript kompiliert nicht mit gcc 4.7 ...
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

Scheiß CHM-Komprimierung ... zum Kotzen ...
Ohne Input kein Output.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Wie wunderbar, wenn es einfache Lösungen gibt ... ;)
Dateianhänge
walpha.png
walpha.png (9.53 KiB) 7848 mal betrachtet
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Dürfte ich fragen, für welche Werte von \($a$\) die Lösung relevant ist? Z.B. gibt es für \($a > \frac{3}{2}$\) drei Lösungen:

Bild

Bild
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Vorhin kamen alle versäumten SMSen der letzten Tage an, nachdem ich mein Handy neu gestartet hatte.
Ich weiß nicht, ob es am Netz oder am Handy lag, aber da das Handy seit einem Monat nicht abgeschaltet wurde, und die Nachrichten keine zwei Minuten nach dem Boot eintrudelten, halte ich einen Programmfehler im Handy für am wahrscheinlichsten. Echt zum Kotzen. (Anrufe gingen übrigens.)

Mein PlayStation 2-Controller schickt unentwegt Input, viele Mal pro Sekunde, obwohl sich nichts geändert hat. Ich weiß nicht, ob das bei den Controllern immer so ist oder am PS-to-PC-Adapter liegt. Es gibt mir jedenfalls ein unangenehmes Gefühl.

Das Gegenteil ist aber auch nicht gut: Mein Joystick sendet nur, wenn sich was ändert. Das bedeutet, dass ich beim Programmstart kurz pollen muss, um seinen Zustand abzufragen — sonst reagierte das Programm nicht auf den Joystick, bevor man ihn zum ersten Mal bewegt; das wäre ziemlich hässlich.

RawInput verlangt von mir eine dynamische Allokation pro WM_INPUT-Nachricht. Man kann sie folgendermaßen umgehen:
  • Die Größe der Reports eines HIDs ist konstant. Beim Start der Anwendung (oder, sobald ein neues Gerät angeschlossen wird) enumeriert man alle angeschlossenen Geräte.
  • Mit den Preparsed Data (also der Protokolldefinition) ruft man HidP_GetCaps() auf. Damit bekommt man die Eigenschaften des HIDs angezeit, wozu auch die Größe eines Reports gehört.
  • Von allen Reportgrößen bestimmt man das Maximum. Dazu berechnet man die Unkosten durch RawInput-Header, die vor dem Report platziert werden.
  • Einen Speicherbereich dieser Größe allokiert man einmal und nutzt ihn, um die Daten jeder WM_INPUT zu empfangen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Code: Alles auswählen

static size_t const numberIndices = 
    std::extent<decltype(indices)>::value *
    std::extent<decltype(
        static_cast<std::remove_extent<decltype(indices)>::type *>(nullptr)->theIndices
    )>::value;
Hier gibt es nicht das Geringste zu sehen. Bitte gehen Sie weiter.
glassbear
Establishment
Beiträge: 324
Registriert: 08.04.2003, 18:09
Alter Benutzername: Enrico_
Echter Name: Enrico
Wohnort: San Diego
Kontaktdaten:

Re: Jammer-Thread

Beitrag von glassbear »

Bloeder Steam-Summer-Sale. Hab eindeutig zu viel gekauft :lol:
Ein Hoch auf uns Männer... Auf die Frau, die uns HAT ( oder hat, und nicht weiß, dass sie uns hat ) ...auf die Idiotinnen ... besser gesagt VOLLPFOSTINNEN ... die uns hatten und uns verloren haben ... und auf die GLÜCKLICHEN, die das Vergnügen & Glück haben werden uns kennenzulernen!
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Joa, gut, dass der Steam Sale vorbei ist. Hab meine Sammlung von Spielen auf Vorrat heftig erweitert, ohne dass sich meine Chancen, meinen Rückstand aufzuholen, nennenswert verbessert hätten. Das wiederrum liegt an Battlefield 3, womit ich meine abendliche Zockzeit nun primär verbringe.

Auch was gejammert: es ist erstaunlich kompliziert, einen Textursampler mit bilinearem Filter selbst zu schreiben. Modulo und Konsorten sind um den Nullpunkt rum furchtbar inkonsistent. Mein aktueller Code dafür ist nun voll mit floor() und Konsorten... wahrscheinlich gibt es dafür auch einen eleganten Weg, aber ich finde ihn nicht.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Bild
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Bild
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Habe gerade die A new dawn-Demo ausprobiert. Begeisterungsgrad: Medium.
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Verdammter Intel-Chipsatz im Eee PC kriegt Clipping nicht richtig gebacken. Flach aufs Terrain gucken flimmert die Scheiße heraus aus dir. Es ist zum Kotzen, dass man sowas Fundamentales verkacken kann. Ich habe hier ein niedrig aufgelöstes Mesh als Landschaft und während man sich drüberbewegt wird wortwörtlich der halbe Bildschirm von Einzelbild zu Einzelbild abwechselnd himmelblau und dann wieder felsdunkel. I can't even …

Warum ist beim Erstellen einer Antwort hier auf ZFX der Eingabefokus nicht im Antwortfeld? Ich habe hier bloß ein Touchpad, das außerdem fast einen Meter von mir wegsteht. Ich will ALLES via Tastatur bedienen können. Was wollt ihr denn machen wenn ein körperlich schwer Behinderter auf ZFX Rants über falsch implementiertes Clipping in den Jammer-Thread klatschen will? "Dummes ZFX. Lässt mich nicht meine Antwort eingeben."
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Krishty hat geschrieben: Warum ist beim Erstellen einer Antwort hier auf ZFX der Eingabefokus nicht im Antwortfeld? Ich habe hier bloß ein Touchpad, das außerdem fast einen Meter von mir wegsteht. Ich will ALLES via Tastatur bedienen können. Was wollt ihr denn machen wenn ein körperlich schwer Behinderter auf ZFX Rants über falsch implementiertes Clipping in den Jammer-Thread klatschen will? "Dummes ZFX. Lässt mich nicht meine Antwort eingeben."
Bei Schnellantwort habe ich den Fokus von Anfang an, bei Erweitert nach 2 mal Tab drücken.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Stimmt, bei Schnellantwort klappt es.

Bei der erweiterten Antwort (die ich zuerst sehe, wenn ich mich zum Antworten einlogge) kann ich nicht einmal sagen, wo der Fokus ist. (Bei den Beitragssymbolen?) Brauchen wir Betreff überhaupt? Benutzt das wer?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Für extended-length-Pfade gilt: Stellt man das \\?\ einem Pfad voran, welcher / als Separator enthält, so schlägt CreateFile fehlt. Dahingegen klappt es bei Pfaden mit \ als Separator problemlos.
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

eXile hat geschrieben:Für extended-length-Pfade gilt: Stellt man das \\?\ einem Pfad voran, welcher / als Separator enthält, so schlägt CreateFile fehlt. Dahingegen klappt es bei Pfaden mit \ als Separator problemlos.
MSDN hat geschrieben:Note File I/O functions in the Windows API convert "/" to "\" as part of converting the name to an NT-style name, except when using the "\\?\" prefix as detailed in the following sections.

...

For file I/O, the "\\?\" prefix to a path string tells the Windows APIs to disable all string parsing and to send the string that follows it straight to the file system.
Quelle: http://msdn.microsoft.com/en-us/library ... s.85).aspx
Ohne Input kein Output.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Lustig, die Seite hatte ich bestimmt schon zehnmal gelesen, aber irgendwie haben ich die betreffenden Stellen immer überlesen. Besten Dank für den Link. Lustigerweise klappt es im Windows Explorer unabhängig vom verwendeten Separator.
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Ich habe folgenden Code:

Code: Alles auswählen

template<typename CType> struct ConfirmAllowedType;
template<> struct ConfirmAllowedType<short>
{
	typedef short type;
};

Code: Alles auswählen

class Foo
{
public:
	void doSomething(void);
	template<typename FType> void doSomething(typename ConfirmAllowedType<FType>::type param);
};
Ein Versuch, die template-Funktion aufzurufen, führt nun unter MCVC++ zur Fehlermeldung "error C2660: 'Foo::doSomething' : function does not take 1 arguments".

Offensichtlich sieht der Compiler also nur die einfache Funktion, nicht aber die Templatefunktion.

Nach ein wenig Herumspielen mit der Klasse weiß ich, dass

Code: Alles auswählen

class Foo
{
public:
	void doSomething(void);
	template<typename FType> void doSomething(int param);
};
mir die gleiche Fehlermeldung einbringt, wähend

Code: Alles auswählen

class Foo
{
public:
	void doSomething(void);
	template<typename FType> void doSomething(FType param);
};
anstandslos kompiliert.

Die Fehlermeldung ist also einfach nur sehr ungünstig, da sie als Folgefehler eines Errors "could not deduce template argument" verhindert, dass der "could not deduce template argument" Fehler überhaupt angezeigt wird.
Bei template<typename FType> void doSomething(int param); ist natürlich klar, dass der Compiler keine Möglichkeit hat an Hand des Aufrufs herauszufinden, für was für einen Typ für FType er die Funktion nun instanziieren soll.
Bei template<typename FType> void doSomething(typename ConfirmAllowedType<FType>::type param); hingegen verfügt er doch über FType in der Signatur, ist aber anscheinend überfordert, den Typ für FType zu ermitteln, wenn er als Parameter statt einem FType ein komplexeres Konstrukt bekommt.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

kaiserludi hat geschrieben:Die Fehlermeldung ist also einfach nur sehr ungünstig, da sie als Folgefehler eines Errors "could not deduce template argument" verhindert, dass der "could not deduce template argument" Fehler überhaupt angezeigt wird.
Leider spielen hier viele Sachen mit rein. Zunächst einmal sieht das, was du da versuchst, stark nach SFINAE aus. SFINAE nutzt genau das beschriebene Verhalten, um bestimmte Template-Überladungen in Abhängigkeit von gewissen Eigenschaften der übergebenen Typen an- oder abzuschalten. SFINAE ist aber nur deshalb möglich, weil der Compiler in den von dir gezeigten Fällen keine Fehlermeldungen zu den Funktionen bringt, die aufgrund unvollständiger Angaben zur Deduktion oder ungültiger Signatur durch abhängige Typen nicht kompilierbar wären.
kaiserludi hat geschrieben:Bei template<typename FType> void doSomething(int param); ist natürlich klar, dass der Compiler keine Möglichkeit hat an Hand des Aufrufs herauszufinden, für was für einen Typ für FType er die Funktion nun instanziieren soll.
Bei template<typename FType> void doSomething(typename ConfirmAllowedType<FType>::type param); hingegen verfügt er doch über FType in der Signatur, ist aber anscheinend überfordert, den Typ für FType zu ermitteln, wenn er als Parameter statt einem FType ein komplexeres Konstrukt bekommt.
Nein, der Compiler ist nicht überfordert, sondern der Sprachstandard schränkt Deduktion explizit ein. Das, was du hier tust, sieht zwar in dieser Form aus, als wäre es trivial lösbar. Tatsächlich bieten Templates aber mit (partiellen) Spezialisierungen schlichtweg zu viele Freiheitsgrade, um derartige Konstrukte im allgemeinen Fall zuverlässig und eindeutig auflösen zu können.

Eine korrekte Fassung dessen, was du hier versuchst, sieht wie folgt aus:

Code: Alles auswählen

template<typename CType> struct ConfirmAllowedType { static const bool value = false; };
template<> struct ConfirmAllowedType<short> { static const bool value = true; };

// enable_if ist Teil von C++11!
template <bool B, class T = void> struct enable_if;
template <class T> struct enable_if<true, T> { typedef T type; };

class Foo
{
public:
        void doSomething(void);
        template<typename FType> typename enable_if<ConfirmAllowedType<FType>::value>::type doSomething(FType param);
};
Diese Variante nutzt genau das Verhalten, dass eine ungültige Signatur aufgrund eines gegebenen FType keinen Fehler verursacht, sondern die Überladung in diesem Fall einfach ignoriert wird.

Eine andere Variante, näher an deiner, wäre:

Code: Alles auswählen

template<typename CType> struct ConfirmAllowedType;
template<> struct ConfirmAllowedType<short> { typedef short type; };

template <class B, class T = void> struct enable_on { typedef T type; };

class Foo
{
public:
        void doSomething(void);
        template<typename FType> typename enable_on<ConfirmAllowedType<FType>::type>::type doSomething(FType param);
};
Noch eine andere Variante:

Code: Alles auswählen

template<typename CType> struct ConfirmAllowedType;
template<> struct ConfirmAllowedType<short> { typedef short type; };

class Foo
{
public:
        void doSomething(void);
        template<typename FType> void doSomething(FType param, typename ConfirmAllowedType<FType>::type* = nullptr);
};
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Meine Lösung vorhin war, statt typename ConfirmAllowedType<FType>::type weiterhin einfach nur FType zu übergeben und dann in der ersten Zeile im Body der Funktion, in der ich eh für einen statischen Assert auf ein static Member von FType zugegriffen habe, statt FType nun ConfirmAllowedType<FType>::type zu verwenden, da ie Deduktion an der Stelle ja schon erfolgt ist und der ganze Zweck hinter ConfirmAllowedType eh nur ist, die Verwendung nicht unterstützter Typen bereits zur Compilierzeit und nicht erst zur Laufzeit abzufangen.

Deine Varianten sehen allerdings auch interessant aus. Nur: In den ersten beiden Fällen habe ich dann ja einen Rückgabewert, den auch irgendwer auslesen könnte, im letzten Fall einen zusätzlichen Parameter, bei dem auch jemand versuchen könnte, was anderes als den Default zu übergeben, sprich ich verkompliziere quasi in allen 3 Fällen das Interface mit Dummies, bei denen ein Aufrufer sich erst wieder im Klaren sein muss, daass es sich um Dummies handelt.

PS:
Müsste typename ConfirmAllowedType<FType>::type* = nullptr nicht typename ConfirmAllowedType<FType>::type* someExtremelyCoolParameterName = nullptr heißen?
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

kaiserludi hat geschrieben:Meine Lösung vorhin war, statt typename ConfirmAllowedType<FType>::type weiterhin einfach nur FType zu übergeben und dann in der ersten Zeile im Body der Funktion, in der ich eh für einen statischen Assert auf ein static Member von FType zugegriffen habe, statt FType nun ConfirmAllowedType<FType>::type zu verwenden, da ie Deduktion an der Stelle ja schon erfolgt ist und der ganze Zweck hinter ConfirmAllowedType eh nur ist, die Verwendung nicht unterstützter Typen bereits zur Compilierzeit und nicht erst zur Laufzeit abzufangen.
Okay, dann wäre ein static_assert(ConfirmAllowedType<FType>::value, "Given FType not allowed") aber vermutlich hilfreicher als irgendein Fehler durch die Referenzierung eines nicht existenten abhängigen Typnamens, hier ConfirmAllowedType<FType>::type.
kaiserludi hat geschrieben:Deine Varianten sehen allerdings auch interessant aus.
Dein Anwendungsfall unterscheidet sich aber stark von dem, was ich hier gezeigt habe. Während durch static_assert bzw. Referenzierung im Funktionsrumpf immer eine Fehlermeldung ausgelöst wird, kommt es in den von mir gezeigten Varianten gerade zu keiner Fehlermeldung; stattdessen werden dort die fehlerhaften Überladungen einfach stillschweigend abgeschaltet.
kaiserludi hat geschrieben:Nur: In den ersten beiden Fällen habe ich dann ja einen Rückgabewert, den auch irgendwer auslesen könnte, im letzten Fall einen zusätzlichen Parameter, bei dem auch jemand versuchen könnte, was anderes als den Default zu übergeben, sprich ich verkompliziere quasi in allen 3 Fällen das Interface mit Dummies, bei denen ein Aufrufer sich erst wieder im Klaren sein muss, daass es sich um Dummies handelt.
Nein, der Rückgabetyp ist in allen drei Fällen void. Und ja, der zusätzliche Parameter in der Anwenderschnittstelle ist unschön. Ich habe die Variante hier der Vollständigkeit halber aufgeführt, weil es sich hierbei gewissermaßen und den Low-Level-Basisfall von SFINAE handelt. Insbesondere lässt sich damit eine Fülle von Helfer-Templates zur Analyse von Typeigenschaften formulieren. Davon abgesehen ist der Dummy-Parameter bei Konstruktoren manchmal unvermeidbar, weil diese keinen Rückgabetypen besitzen.
kaiserludi hat geschrieben:PS: Müsste typename ConfirmAllowedType<FType>::type* = nullptr nicht typename ConfirmAllowedType<FType>::type* someExtremelyCoolParameterName = nullptr heißen?
Wenn du den Parameter benennen willst; ohne Name wird aber eventuell deutlicher, dass es sich um keinen echten Parameter handelt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Ah, mir war gar nicht klar, dass default values auch für unbenannte Parameter funktionieren.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

"fatal error C1128: number of sections exceeded object file format limit : compile with /bigobj"

18.435 aus einem Template instantierte Klassen, die wiederum die Instantierung von über 100.000 Klassen aus anderen Templates getriggert haben -> "autsch".
Zuletzt geändert von kaiserludi am 04.08.2012, 18:52, insgesamt 2-mal geändert.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Bin durch eine Grippe außer Gefecht gesetzt und nächstes Wochenende nicht in der Nähe des Internets; der Artikel über HID muss deshalb noch eine oder zwei Wochen warten. Entschuldige, Schrompf.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 5402
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Du bist mir nichts schuldig. Alles ist also gut. Lass Dich nicht unterkriegen!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8422
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Das scheiß Find & Replace-Fenster von Visual C++ 2010 ist saulahm. Ich klicke auf den Solution Explorer – sofort da. Ich klicke Strg+F – drei Sekunden Verzögerung, während sich das Fenster langsam aufbaut, das aus nichts besteht als aus einem Eingabefeld, einem Auswahlfeld, zwei Checkboxen und zwei Knöpfen. Mitunter ist Go to Definition schneller. WTF, Microsoft. WTF.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2961
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Suchen geht bei mir eigentlich recht schnell, aber ich bin regelmäßig schneller, Definitionen per Hand zu finden, als per Schnelltaste. Weil er einfach ewig rechnet und mir dann oft 10 Vorschläge gibt, von denen 9 total absurd sind.
Ansich warte ich einfach nur noch darauf, dass libclang in Eclipse oder QtCreator integriert wird und rund läuft, dann verabschiede ich mich von VC. Langsam reicht es.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Eclipse und QTCreator? Das sin doch die beiden IDEs mit den mit Abstand schlechtesten UIs am Markt. Grausig, ich bin über jede Sekune meines Lebens froh, in denen ich diese beiden nicht anrühren muss und stattdessen VS oder Xcode nutzen kann.
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4321
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

Irre wie sich da die Geister scheiden, ich würde XCode nicht mal mit der Kneifzange anfassen :)
Antworten