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.
kaiserludi hat geschrieben:Irgendein Template führt zu einem fürchterlichen Code Bloat in in einem meiner Sourcefiles, aber ich weiß nicht, welches Template das Problem ist und bei allen, die ich im Verdacht hatte, hat ein Durchzählen der Instantierungen (globale Variable als Counter und im Template eine static dummy Variable, die mit dem return Value einer Funktion initalisiert wird, welche den globalen Counter inkrementiert) nur seh überschauliche Zahlen gegeben, die nicht das Problem sein können.
Bist du sicher, dass die statische Variable auch immer instanziiert wurde?
C++11 hat geschrieben:Unless a member of a class template or a member template has been explicitly instantiated or explicitly
specialized, the specialization of the member is implicitly instantiated when the specialization is referenced
in a context that requires the member definition to exist; in particular, the initialization (and any associated
side-effects) of a static data member does not occur unless the static data member is itself used in a way
that requires the definition of the static data member to exist
kaiserludi hat geschrieben:Noch igendwer Ideen, wie ich mit möglichst wenig Aufwand raus finde, welches Template wie oft instantiiert wird?
Eventuell hilft dir hier das Tool Sizer, welches Krishty in seinem Mikrooptimierungs-Log genannt hat.
kaiserludi hat geschrieben:Irgendein Template führt zu einem fürchterlichen Code Bloat in in einem meiner Sourcefiles, aber ich weiß nicht, welches Template das Problem ist und bei allen, die ich im Verdacht hatte, hat ein Durchzählen der Instantierungen (globale Variable als Counter und im Template eine static dummy Variable, die mit dem return Value einer Funktion initalisiert wird, welche den globalen Counter inkrementiert) nur seh überschauliche Zahlen gegeben, die nicht das Problem sein können.
Bist du sicher, dass die statische Variable auch immer instanziiert wurde?
C++11 hat geschrieben:Unless a member of a class template or a member template has been explicitly instantiated or explicitly
specialized, the specialization of the member is implicitly instantiated when the specialization is referenced
in a context that requires the member definition to exist; in particular, the initialization (and any associated
side-effects) of a static data member does not occur unless the static data member is itself used in a way
that requires the definition of the static data member to exist
kaiserludi hat geschrieben:Noch igendwer Ideen, wie ich mit möglichst wenig Aufwand raus finde, welches Template wie oft instantiiert wird?
Eventuell hilft dir hier das Tool Sizer, welches Krishty in seinem Mikrooptimierungs-Log genannt hat.
Hmm, ich habe extra noch einen nicht statischen Member, den ich im Konstrukor mit dem statischen initialsiere, umd darüber sicher zu stellen, dass die Existenz des statischen tatsächlich benötigt wird.
Das Tool schau ich mir mal an.
@Schrompf:
Noch nicht. Ich habe gegeogelt, ob ich irgendwie übers .obj File daran komme, aber nichts fruchtbares raus bekommen. In die genannten könnte ich aber auch mal schauen, ja.
Danke euch beiden schon mal.
"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]
Hmm, wie bekomme ich denn raus, welche UUID ich für msdia100.dll eintragen muss und was soll ich in Zeile 594 ergänzen? (bezieht sich auf Krishtys von CodingCat verlinkten Post)
"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]
Hmm, scheint auch mit den vorhandenen Binaries ohne Neukompilierung für VS 2010 trotzt VS 2010 generierer zur untersuchender .exe zu funzen und der Output ist auf jeden Fall schonmal hilfreich :)
"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]
main.cpp(11): error C2785: ''unknown-type' GetList(void)' and 'MyStruct GetList(void)' have different return types
main.cpp(5) : see declaration of 'GetList'
main.cpp(8) : see declaration of 'GetList'
main.cpp(11): error C2912: explicit specialization; 'MyStruct GetList<MyStruct>(void)' is not a specialization of a function template
Clangs Gleitkommaoptimierungen sind verschiedenen Quellen nach noch schlechter als die von Visual C++.
Der Intel Compiler hingegen scheint nicht nur in Benchmarks mit 200 % Gleitkommaleistung zu protzen, sondern das tatsächlich auch in der Praxis zu bringen, plus Extras, bei denen es mir lauwarm die Schenkel runterläuft:
Amongst the logs about which loops in my test project were or weren’t vectorized (and why not), it also kicked out data locality suggestions like this:
(DTRANS) Reordering the fields of the structure ‘FluidGrid’ will improve data locality. Suggested field order: ‘m_fluidGrid, m_current, m_fluidVecX, m_fluidVecY, m_fluidVecZ, m_flags, m_particles, m_particlesPrev, m_sliceAxis, m_sliceIndex, m_renderParticles, m_mtRand’.
[VERIFY] The suggestion is based on the field references in the current compilation. Please make sure that the restructured code satisfies the original program semantics.
(DTRANS) Split the structure ‘LineBuffer’ into two parts to improve data locality. Frequently accessed fields are ‘m_offlineBuffer, m_curLineCount’;
Aber irgendwie sagt mir mein Gewissen, dass es sinnvoller wäre, Clang beim Wachsen zu helfen als Intel das Geld in den Hintern zu pusten.
Andererseits lässt sich ICC nahtlos in Visual Studio integrieren und ist nach der Installation sofort bereit. Clang muss ich erst kompilieren. Das klingt für mich grundsätzlich nach ich will garnicht, dass du mich nutzt.
WTF hatten die nicht für Visual Studio 2012 geprahlt, dass sie die Installationsdauer so verkürzt haben, indem sie nur noch das Nötigste installieren?!
ich installiere hier die Expressversion und wurde nicht einmal gefragt, was ich alles haben will
oder habe ich irgendwo eine Kachel übersehen?
und mein Provider schickt schon Warnungen, dass meine Verbindung ihr Tageslimit erreicht
WTF Microsoft
Im Ernst, habe ich was falsch gemacht? Soll ich abbrechen und nochmal ganz genau nach erweiterten Optionen Ausschau halten oder wird der ganze Scheiß dann nochmal runtergeladen?!
Windows Software Development Kit for Windows Store Apps DirectX x86 Remote?!?
WTF
WTFdows WTFware DeWTF Kit for WTFStore WTFs DirectWTF WTF86 WTmote
Aber im Ernst: Clang unter Windows mit VS zu bauen war das letzte mal als ich es gemacht hab vollkommen unproblematisch. Projektdateien lagen glaube ich auch dabei (Oder musste ich erst noch CMake aufrufen..?). Jedenfalls hab ich mich dabei nicht überanstrengt :)
Biolunar hat geschrieben:Windows hat Paketquellen? Ist mir neu.
Windows? Gibts diesen Blödsinn immer noch?
Jammer: Die Personensuche bei Skype unter Windows funktioniert nicht. Ich kann den Suchbegriff in 4 unterschiedlichen Feldern eingeben. 3 Felder davon geben keine Suchtreffer und das eine Feld immer exakt 200 Treffer. Linux gebootet, dort hat der Skype-Client keine Werbung überall, alles übersichtlicher, nur ein Eingabefeld und der Skype-Name wurde auf Anhieb gefunden. Wie können 2 Clients von ein und derselben Software so unterschiedlich sein?
Ja, es liegt vermutlich an Dr memory und dass ich die Debugversion mit /MD statt /MDd kompiliert habe. Nur dass ich keine Compilermeldungen kriegen, weil Qt ne dll ist und nicht statisch linkt oder so. Hat mich ganz schön Zeit und Nerven gekostet herauszufinden, dass es DARAN liegt.
Sternmull hat geschrieben:Aber im Ernst: Clang unter Windows mit VS zu bauen war das letzte mal als ich es gemacht hab vollkommen unproblematisch. Projektdateien lagen glaube ich auch dabei (Oder musste ich erst noch CMake aufrufen..?). Jedenfalls hab ich mich dabei nicht überanstrengt :)
Ja; das habe ich von anderen auch gehört. Ist mir aber scheißegal. Es geht ums Prinzip: Software muss sofort laufen. Es ist vorbildlich, wenn Quelltext mitgeliefert wird, aber selber zu kompilieren sollte eine Option bleiben. Wenn ich einen Compiler selber kompilieren muss, erinnert mich das an die Telekommunikationsanbieter, denen ich eine E-Mail schreiben soll, wenn mein Internet nicht mehr funktioniert: Es ist absurd.
Sternmull hat geschrieben:Aber im Ernst: Clang unter Windows mit VS zu bauen war das letzte mal als ich es gemacht hab vollkommen unproblematisch. Projektdateien lagen glaube ich auch dabei (Oder musste ich erst noch CMake aufrufen..?). Jedenfalls hab ich mich dabei nicht überanstrengt :)
Ja; das habe ich von anderen auch gehört. Ist mir aber scheißegal. Es geht ums Prinzip: Software muss sofort laufen. Es ist vorbildlich, wenn Quelltext mitgeliefert wird, aber selber zu kompilieren sollte eine Option bleiben. Wenn ich einen Compiler selber kompilieren muss, erinnert mich das an die Telekommunikationsanbieter, denen ich eine E-Mail schreiben soll, wenn mein Internet nicht mehr funktioniert: Es ist absurd.
oder an die, bei denen man sich nur online einen Internetanschluss bestellen kann :lol:
Bin da ganz deiner Meinung: Es ist einfach extrem nutzerfeindlich, wenn der Nutzer sich die Software erst selbst kompilieren MUSS, weil keine Binaries mitgeliefert werden.
"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 hat geschrieben:Bin da ganz deiner Meinung: Es ist einfach extrem nutzerfeindlich, wenn der Nutzer sich die Software erst selbst kompilieren MUSS, weil keine Binaries mitgeliefert werden.
Nochmal: Mein Distributor liefert mir Binaries. Dann hast du einen schlechten Distributor und solltest umsteigen.
kaiserludi hat geschrieben:Bin da ganz deiner Meinung: Es ist einfach extrem nutzerfeindlich, wenn der Nutzer sich die Software erst selbst kompilieren MUSS, weil keine Binaries mitgeliefert werden.
Nochmal: Mein Distributor liefert mir Binaries. Dann hast du einen schlechten Distributor und solltest umsteigen.
Jetzt hört doch auf zu jammern :) Ich seh grad das auch experimentelle Windows-Binaries angeboten werden: Siehe hier und klick auf "Experimental Clang Binaries for Mingw32/x86".
Sternmull hat geschrieben:Jetzt hört doch auf zu jammern :)
Aber dann wird doch dieser Thread überflüssig
"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]
Instant Messenger (ich bin noch nicht darauf gekommen, blinkende Tray-Symbole mit der Tastatur anzusteuern) und YouTube (spontan bestimmte Musik hören ist also schwer).
Sonst bin ich positiv überrascht, wie gut alles funktioniert. Man merkt wirklich, wie viel Wert Microsoft auf Barrierefreiheit legt; man merkt aber auch, welche Anwendungen nicht damit getestet wurden (wenn etwa die Auswahl kreuz und quer durch die Buttons hüpft).
Trotzdem ist alles langsamer. (Um hier ins Antwortfenster zu kommen, habe ich über zehn Sekunden rumtippen müssen.) Da ich auch gerade an sowas wie einem Spiel arbeite, und unbedingt Maussteuerung voraussetze, ist Testen erstmal Essig. Die Tastaturmaus, die Windows in der Erleichterten Bedienung einsetzt, ist auch nur enorm begrenzt einsetzbar.
Krishty hat geschrieben:Instant Messenger (ich bin noch nicht darauf gekommen, blinkende Tray-Symbole mit der Tastatur anzusteuern) und YouTube (spontan bestimmte Musik hören ist also schwer).
Tray Icons kann man mit Win, Esc und Tab drücken bis das Icon markiert ist erreichen. (Zumindest wenn du noch nicht Win8 benutzt). Bei Youtube ist man leider tatsächlich auf die Maus angewiesen. Es funktioniert nicht mal Strg+Tab um das Tab zu verlassen wenn das Video den Focus hat... :(
Gerade Visual Studio 2012 installiert. Die neuen IDE-Features wie Floating Preview Tab und integrierter Class/Entity-Solution-Explorer sind großartig. Aber WARUM in Gottes Namen dieses schlimmste IDE-Layout aller Zeiten? In diesem Brei von unlesbaren Icons und unstrukturiertem Text kann ich schlichtweg nicht arbeiten.
Ich verwends jetzt schon seit einigen Monaten und muss sagen: Man gewöhnt sich dran, ich finds mittlerweile eigentlich sogar ziemlich nice (sobald die ALL CAPS abgedreht sind, weil die gehn gar nicht)...
Klingt so als hätten sie ihren Stil der Office-Produkte beibehalten... bei denen kann ich den Icon-Überladenen Toolbars auch nur mit Unverständis entgegenblicken.
dot hat geschrieben:Ich verwends jetzt schon seit einigen Monaten und muss sagen: Man gewöhnt sich dran, ich finds mittlerweile eigentlich sogar ziemlich nice (sobald die ALL CAPS abgedreht sind, weil die gehn gar nicht)...
Danke, jetzt finde ich mich schon wesentlich besser zurecht. Den Blue Theme aus der Extension im zweiten Link kann ich allen Mitlesern empfehlen, tatsächlich sehr ähnlich zu Visual Studio 2010. Damit die Titelleiste nicht so blöd mit dem Menü vermatscht, einfach den Theme unter "Theme/Customize Colors" anpassen. Die relevanten Schlüssel heißen "Enviroronment/MainWindowActiveCaption" und "Environment/MainWindowInactiveCaption". Ich habe beide auf FFDAE1ED gesetzt.
Sternmull hat geschrieben:Klingt so als hätten sie ihren Stil der Office-Produkte beibehalten... bei denen kann ich den Icon-Überladenen Toolbars auch nur mit Unverständis entgegenblicken.
Nein, selbst das Office-Design ist ein Segen dagegen. Oh shit, das neue Office macht eine ähnliche Entwicklung. Usability to the min!
Und ich wär mir nicht so sicher, dass es die jemals geben wird...iirc wurde zumindest bei der Build Conference 2011 der Eindruck vermittelt, als wären die meisten Features der Power Productivitiy Tools in VS 2012 fix eingebaut...
Doch, doch, wird es geben. Hier unter Workarounds steht auch eine Anleitung, wie man die Seitenleiste bereits jetzt mit Visual Studio 2012 benutzen kann. Ich will eher endlich Parallel Nsight für Visual Studio 2012. :evil:
Eure Posts sind alle sowas von alt August 2012. :)