Flame aus "Projekte": C oder C++ schneller bei Spieleprogrammierung?
-
[quote="kingruedi"]
Was? Und was willst du mir damit sagen?
[/code]
ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist. und wie das alles der gcc compiler interpretiert hat absolut keine aussagekraft da er glaub ich nicht auf C programme optimiert ist.
-
Manuelh87 schrieb:
ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist. und wie das alles der gcc compiler interpretiert hat absolut keine aussagekraft da er glaub ich nicht auf C programme optimiert ist.
lol, du kennst dich nicht aus! Der C++- und der C-Compiler der GCC unterscheiden sich nur durch ihr Frontend!
-
ganz easy das bei mir mit nem cooln c-compiler ein extrem kleiner code rauskommt und das kompilersystemabhängig ist.
toll. Das ist nicht der Punkt, wie klein du das Binary bekommst, wenn du dazu keinen Vergleich hast, wie klein du das C++ Binary bekommst.
Auf meinem System ist der C++ Code kleiner und das bei einem extrem populären Compiler. Das sollte dir klar machen, dass das mit C erzeugt kleinere Binarys als C++ Käse ist.
da er glaub ich nicht auf C programme optimiert ist.
ROFL
Der GCC ist mit Sicherheit der meistbenutzte C Compiler und wurde als C Compiler entworfen.
-
Manuelh87 schrieb:
dann kanst du das auf int16 und int32 und int64 und was du willst porten! Kannst ja auch templates verwenden.... wie du meinst.
Dafür gibt es ja typedef...
Manuelh87 schrieb:
Ich halt halt nix von der technik alles zu einer Klasse zu machen.
Nochmal für ganz langsame... C++ != alles in Klasse packen.
Manuelh87 schrieb:
Du kommst mir vor wie ich wie ich mein erstes C++ Buch bekam und auch alles in eine Klasse zu stopfen.
Scheinbar hast du es nur als Türstopper benutzt!
-
kingruedi schrieb:
wenn du keine Klassen benutzen willst, dann tu das einfach. Aber behaupte nicht, dass C++ langsamer sei.
wie oft muss ich dir noch A sagen bist dus mal verstehst. Nimm mir das nicht übel aber ich hab schon erklärt wie ich das gemeint hab und zwar wieder und wieder. Bei gutem einsatz ist c++ aufjedenfall cool und ihr brauchst ned c++ verdeitigen weil ichs ja eh auch super find und ich mag auch klassen aber halt ned für jeden kleinen codeschnippsel. Aber wenns bei euch keine performance minderungen oder code aufplähungen gibt dann sollt ihr das ruhig verwenden. Ich weiß nur das bei tokenfile die umstellungen von 2 grundtypen auf typedef struct den code einfacher machten. Denn stat 100 functionen für jeden verschiedenen schmorn hab ich 2 oder 3 einfache schnelle funktioen die alles erledigten. Aber für die Hauptklasse hab ich natürlich ne Klasse verwendet mit abstrakter funktion. is ja auch klar ned. Das hat sich da angeboten und war auch meines erachtens die beste lösung. Okay
mfg Manuelh87
-
Manuelh87 schrieb:
Vermutung schrieb:
Manuelh87 == Spieleprogrammierer
Fühl mich gehrt [...]
Warte mal ab, bis die Forensuche wieder funktioniert, dann wirst du es nicht mehr als Lob auffassen...
-
Manuelh87 schrieb:
Mann muss aus vector keine klasse machen! Das ist einfach ansichtssache. Du weißt ja ob du polar oder kartesische Koordinaten verwendest.
Oder möchtest du ne Biliotek für einen Vector machen?? das sind z.b. 2 floats!
oder 3,4,5,6,7.....x floats
weist du was ein verktor ist?
und was sollst...wozu ne klasse oder ein struct... ein array reichtDu erzählst hier immer was von klassen und das man die net so häufig benutzen sollte.
ne matrix z.B.
die besteht aus vektoren, und man kann für eine Matrix einige funktionen zusammenfassen. Das schreit richtig nach einer klasse.
da hast du eine schöne Objektbindung und die handhabung ist super einfach.
Ohne eine klasse würdest du nen haufen Funktionen in eine header zusammenkloppen.
Auch wenn du vielleicht damit leicht schneller wirst (was ich kaum glaube) hast du eine menge Übersichtlichkeit eingebüßt. Von der typensicherheit kaum zu reden.
-
hat ja eh kan sin was anderes zu sagen denn ihr habt ja immer wieder toole gegenbeispiele. Meine theory wäre:"Mann kann kein c++ prog. entwickeln das mit C größer ist als mit C++; wenn das doch der fall ist ist das c programm nicht voll optimiert." Aber anscheinend sind hier ein paar low-level experten unter uns die sich ganz sicher sind das c++ aufjedenfall viel schneller ist.
Meiner Mienung nach leigt das an dem Fakt das sich c++ aus c entwickelt hat und net schneller werden kann. Man muss halt nur wissen wie man das coded. Aber ich kann mich gegen die allgemeine Meinung sowieso ned durchsetzten also muss ich mich wohl damit abfinden das mein compiler mich belügt und auch die ganzen unterlagen wo ich ebenfalls viel von diesem problem gelesen habe einfach gelogen waren den die waren experten haben namen wie DU TROTTEL (sehr professionel)also ich denke alles ist geklärt. ich ein kleiner idiot der nicht jedes wort für ein und die selbe technik kennt (Schande über mich) hab mich anscheinend geirrt (obwohl mir mein compiler da nicht zustimmt). Ich entschuldige mich hirmit für die falschen Behauptungen die ich aufgestellt hab.
Manuelh87
-
Zeig doch mal deine tollen Unterlagen...
-
Manuelh87 schrieb:
...ich mag auch klassen aber halt ned für jeden kleinen codeschnippsel...
jedes codeschnipsel? Objekt mit Eigenschaften...das macht ne klasse aus...
weist du was ein objekt ist?
und eine Eigenschaft?du hast da vorhin eine schöne int_classe aufgesetzt aber nur mit get/set...
int ist also dein Objekt und was ist mit den eigenschaften?
kopieren, operationen, vielleicht vergleichen...usw.das gleiche würde auch für deine verhaste Vektor-Classe gelten: das ist nicht einfach die Werte speichern sondern auch alles andere was man mit einem Vektor anstellen kann.
-
MaSTaH schrieb:
Manuelh87 schrieb:
Vermutung schrieb:
Manuelh87 == Spieleprogrammierer
Fühl mich gehrt [...]
Warte mal ab, bis die Forensuche wieder funktioniert, dann wirst du es nicht mehr als Lob auffassen...
Hast da vorher ne anleitung zum flamen lesen müssen oder hast da das selbst beigebracht
Manuelh87
-
Gebt es doch auf
, solche Leute kenne ich auch, immer wenn das irgendwas nicht klappt ist C++ Schuld, unter C wär das ja nicht passiert *nerv*.
-
<...>
BITTE NICHT SO VIEL TEXT HIER REINPASTEN!
-
Delryn schrieb:
Gebt es doch auf
, solche Leute kenne ich auch, immer wenn das irgendwas nicht klappt ist C++ Schuld, unter C wär das ja nicht passiert *nerv*.
Wie beschränkt bist du idiot eigentlich! Entschuldigung für den Kraftausdruck aber wo bitte hab ich von problemen gesprochen und das ich lieber für alles in C schreiben würd??????? Zeigs ma bitte ich bin leider nicht soooo klug wie du... So etwas würd ich nie nie nie nie sagen und das ist eine verfluchte unporfessionelle Unterstellung! Du kennst mich nichteinmal ein SPur und redst so einen Stuß. Ich hab schon gesagt das ich eure meinung akzeptiere, also mehr einsicht kann ich nicht zeigen. Ich muss halt meine Erfahrungen irgendwie vergessen...
Was wollt ihr mir den erklären. Ich hab euch nichts gefragt. Wie kannst du dir das recht herausnehmen so unglaublich klug zu sein das du weißt was ich gerne erklärt haben will.
C ist nicht mein Ausweg weil mir c++ zu kompliziert ist sondern weil ich dort leichter ne lizens krieg (vorallem billiger). Warum ihr so über c herzieht ist weils in mancher hinsicht unübersichtlicher ist als c++ und seine hübschen strukturen. aber ich kann euch berühigen. Ich weiß schon wann klassen angebracht sind und wann nicht! und ich verwend eben nur dann welche, wenns bessere übersichlichkeit gibt und-oder ein anderes team-mitglied damit arbeiten muss und dadurch die code schreibung einfacher wird.
AUßerdem erklärt ihr mir dauernd das klassen!=c++ aber dem statment oben ist zu entnehmen das iht das genauso dauernd anbrangt. Denn ich code ja z.b. normaerweise in c++ und dann ist das obrige statement echt total bescheuert, oder?
Und die Gründe warum die engine in C ist hab ich wohl ausfürhlich genug erklärt! Und das hat absolut nix mit dem obrigen Statment zutun.
-
Dann hätt ich noch ne frage:
Haltet ihr die Leute von TIGCC für komplette vollidioten? Denn wenn c++ code so viel kompakter und übersichtlicher (übersichtlicher ist meiner meinung nach schon der fall) ist dann frage ich mich warum sie nicht vorhaben c++ zu implementieren? Ich bin davon überzeugt das die Leute asm code ienfach so runterschreiben aber ist natürlich klar dass ihr profi lowlevel-fachmänner das natürlich besser wisst als die. Versteht ihr jetzt warum ich ein paar kleine probleme mit eurer definition habe? Aber ihr erklärt mir hier das ich der vollpenner bin und keine ahnung von irgendwas hab und natürlich auch nur blödsin red! Ich hab mich allerdings damit abgefunden und werd das thema nimma anschneiden (werd überhaupt versuchen c und c++ in einem post zu vermeinden!) denn das löst eine Diskussion aus die ich nie wieder führen will.....mfg Manuelh87
-
Manuelh87 schrieb:
Natürlich ist die 4x4 Matrix genausoschnell weil sie ja vom compiler genau auf das umgeformt wird was ich verdammt nochmal benutze. aber class verwendet man trotzdem ned für so was und in struct verwende ich keine Funktionen weil das ned mit c compatibel ist und ich das scheiße fände. da gehört stan**** rein und der ist verflucht wichtig.
wenn mein sourcecode die endung .cpp /.hpp hat, dann hab ich kein interesse an C kompabilität. C!=C++. Und da das gilt, verhalten sich structs in C++ auch anders als in C. fertig.Und da mit haufenweise fachwörter umsich zu schmeißen bringt galub ich auch ned das ware...
wie du sehen wirst, hat es was gebracht, da du vielleicht nur eine frage richtig beantwortet hastAlso:
abstrakte fabriken sind:
Muss ich das ganze System erklären oder reicht defintion. Factory hat ne vorlage (abstrakte classe) ist ein singletone und kann dann weiterverwendet werden von einem sog. client.
1. eine abstrakte fabrik muss kein singleton sein. 2. eine abstrakte fabrik braucht keine vorlage. eine abstrakte fabrik erstellt eine reihe von typen die von einer gemeinsamen basisklasse erben, wie sie das macht ist im endeffekt egal, es ist auch eine typlisten basierende variante möglich. Und client hör ich in zusammenhang mit der abstrakten Fabrik zum allerersten maltemplates und t.. parameter haben wir eh vorher gehabt, wird zuerst aufgelöst und dann übersetzt .........
was sind denn nun template template parameter? wozu braucht man sie? verlierst da kein wort drüber, weist du das etwa nicht?policies ja templates im einsatz (weiß ned warum das nen eigenen namen hat, wahrscheinlich damit so poser wie du damit umsich werfen können)
"templates im einsatz" ist ein so weiter begriff, dass die antwort einen dreck wert ist. der eigene name kommt daher, da policies sich um aspekte einer Klasse kümmern, zb könnte so eine policie in einerr abstrakten fabrik regeln, ob sie nun nach einer vorlage klont, oder aus einer typliste einfach ein objekt erstelltTemplates kann man natürlich vielseitig einsetzten
der kandidat hat 100 punktefunctoren wieder ein unnötiger neuer name für etwas das es gibt und schon immer gab: eine struktur zum speichern von daten (wieder ideal zum auswendig lernen)
ganz falsch. ein functor ist ein wrapper für funktionszeiger, damit man etwas von dem korsett des statischen typsystems wegkommt. typischer weise hat ein funktor einen op() implementiert, der die parameter für den funktionsaufruf festlegt. dder große vorteil von functoren ist, dass man method zeiger wie funktions zeiger behandeln kann, was sonst so nicht möglich iststatische/dynamische polimorphie eines meiner favourites: Ich habs allerdings ned so gennant und zugegebn nachschauen müssen:
Ein neuer toller Poserbegriff für überladen "statisch" und virtuell dynamisch.
unterschied ist: statisch löst der kompiler auf beim kompilieren.
Virtuelle funktionen die "überschrieben werden" da wir sozusagen einfach dynamisch ne adresse eingetragen. Wird aber meines wissens auch vom compiler beim übersetzen aufgelöst.
vortual kann der compiler nicht auflösen, sollte sonst soweit richtig sein
-
Manuelh87 schrieb:
blubb
Ach Gott, schnack doch weiter und kopier am besten nochmal 20 Seiten in den Thread :xmas2:
-
Manuelh87 schrieb:
Ich will ja was machen, aber alleine ists halt ned allzu lustig, deshalb hab ich ja den eigentlichen thread gestartet!
Aber bis jetzt hat sich da noch keiner gemeldet... :xmas1:
warum wundert mich das jetzt nicht?
-
also
abstrakte factory:
ohne interface machts ja wohl wenig sinn und alles andere als singelton ist ja wohl auch relativ sinnlos aber man kann natürlich über solche begriffe streiten.
ohne interface ist nämlich nur eine factory möglich, das ist aber nicht umbedingt der einzige sinn von na factory. deine ist ziemlich sinnlos..... denk mal nach... Kann ich ja ohne verluste auch ohne machen, net?client ist der der dass verwendet. Das wichtige ist ja die unabhängigkeit von welche klasse instanziert wird und welche funktionen verwendet wird.
danke herr lehrer für die 100 punkte.
functor: so ein blödsinn. das ist einfach ne struct mit addressen. ne plain struct! ok den op hab ich auslassen aber nobody is perfect.
also template und co haben wir vorher gehabt aber wens seinmuss tipp ich den code ab....(sinlos)
das mit virtuellen Funktionen hab ich nat. auch so in meinem Buch gelesen, aber ich hab auch von compilern gehört die das mit dem VMT und den dazugehörigen nummern löst und das meiner meinung nach bei der Übersetzerzeit. Das klingt für mich auch überzeugender als das was in jedem buch steht, sorry. Ich mach mir da auch weiter gedanken und hör ned auf bei dem wo das buch bleibt.
aber in grunde ist ne police nur das resultat von der verwendung von templates und es bringt wohl niemandem etwas wenn wir uns für jede einzelle anwendung von templates einen eigenen schönen namen geben.
Und jetzt hätt ich noch gern für jedes eine gut anwendung von dir , wo du persöhnlich etwas mit diesen sachen umgesetzt hast.
Da freu ich mich denn ich glaub kaum das da im heimbereich viele anwendungen gibt.
Den sinn deiner Factory würd ich dann auch gern sehen.
Aber du bist der Champ
und ich checks halt ned kann ma auch nix machen aber ich glaub das ich die meisten Vocabeln gut gelernt hab.
Nur noch am rande: Gehts jetzt Gottseidank nichtmehr um c++ gegen c sonder nur mehr um den flame gegen mich denn dann haben wir das andere zumintest überstanden....
-
können wir uns bitte darauf einigen das wir hier wieder mal nen neuen Thread der den Namen "Unqualifizierter Flame gegen Manuelh87" geben und vom alten abspalten den das gehört eigentlich ned mehr dazu
Grüße Manuelh87