Suchergebnisse

Suchergebnisse 1-8 von insgesamt 8.

  • Benutzer-Avatarbild

    @RodFromGermany VB.NET-Quellcode (13 Zeilen) Und VB.NET-Quellcode (21 Zeilen) sind nicht nur sinngemäß Äquivalent, sondern eben auch was den erzeugenden Code anbelangt, das ist das Schöne an C Sprachen, da erkennt man diese gleichheit auch ziemlich einfach: In C Sprachen ist bei dingen wie If/For whatever immer die nächste Anweisung innerhalb des Scopes, man kann aber "sub-scopes" erzeugen mittels {} um mehrere Anweisungen reinzubekommen C#-Quellcode (8 Zeilen) sind also Äquivalent für einzelne …

  • Benutzer-Avatarbild

    C#-Quellcode (4 Zeilen) Quellcode (8 Zeilen) Wenn else also weggelassen wird muss oft auch noch gesprungen werden, wenn es aber direkt das Ende ist, dann kann der Compiler(KP ob .net gut genug ist, deren Optimierungen sind immer noch ziemlich schlecht) direkt nen return machen, oder innerhalb einer Schleife ggf direkt an den Anfang springen(man spart sich einen Sprung und Sprünge sind teuer) Abgesehen davon kann ein "DoNothing" als NOP interpretiert werden, was dabei sehr irreführend sein kann E…

  • Benutzer-Avatarbild

    Die Compiler machen beides, jenach Befehlssatz und Optimierungsmöglichkeiten, deshalb hab ich auch extra "Pseudocode" geschrieben. Sobald du beide parts hast brauchst du so oder so gleich viel Sprünge, nur wenn man was auslässt ist eine der beiden Sinnvoller. Bei Negierung der boolwerte dann natürlich wieder jz statt jnz etc...

  • Benutzer-Avatarbild

    Was der Compiler daraus macht ist mMn auch relevant für die Erklärung was passiert. Und richtig ist dabei auch sehr wohl interpretationssache. Vorallem nachdem der .Net Compiler ziemlicher misserabel beim Optimieren ist. Nur weil @ErfinderDesRades meint seine Datenanbindung(bitte nicht böse nehmen) sei perfekt, heißt das nicht, dass dies Architektonisch noch Performationstechnisch der fall ist(Vor allem was Performation anbelangt :P). Deshalb finde ich es sehr wohl releveant mal die tatsächliche…

  • Benutzer-Avatarbild

    Du meinst so wie Dinge die in der MSDN stehen, seit Jahren nicht mehr gültig sind und auch aus dem Source hervorgeht, dass es nicht (mehr?) stimmt. Abgesehen davon kann man immer darüber diskutieren ob rein logisch gesehen ein Else immer part der Anweisung ist, ich denke damit war auch nicht gemeint, ob man es explizit angibt oder nicht. Sondern eher unter der Haube. Abgesehen davon, dass man dazu nichts auf MSDN finden wird.

  • Benutzer-Avatarbild

    Ich wusste, dass du nicht verstehst worauf ich hinaus will. Mein erster Part war nur umzu sagen, dass MSDN nicht das Maß aller Dinge ist, denn was dort steht sind keine Fakten, was im Code steht sind Fakten und da jetzt alles OpenSource ist wunderbar. Was nicht gepasst hatte war etwas mit Non-Blocking-Sockets, was Mono implementiert hatte wie auf der MSDN Seite stand, .Net aber nicht(was genau es war weiß ich nicht mehr, ist schon über 5 Jahre her) Wie gesagt, mehr wollte ich nicht sagen, als da…

  • Benutzer-Avatarbild

    Das Maß aller Dinge ist und bleibt der Source, da der immer zu 100% korrekt ist. Natürlich ist MSDN die einfachere Anlaufstelle(obwohl so langsam wie die bei mir lädt :D). Darüber können wir jetzt auch noch stundenlang diskuttieren und würden vmtl. zu keinem Ergebnis kommen. Und zu @Dizzy Meinung reden wir glaub ich einfach nur komplett aneinander vorbei. Wie gesagt ich hab davon geredet was unter der Haube abläuft(Ich verweise ebenfalls auf den Thread-Titel, wie du es ja so gerne tust - als ob …

  • Benutzer-Avatarbild

    was glaubst du wie bekommt man neue Schlüsselwörter hin? Man verwendet bereits vorhandene Schlüsselwörter um diese nachzubauen und kompilierts. Das bereits vorhandene muss nur Turing-Complete sein. Wie wurde C entwickelt? Die ersten C compiler waren wohl in ASM(vlt. auch Pascal, aber man sieht worauf es rausläuft), dann irgendwann hat man die neuen C-Compiler mit der alten C-Compiler version compilet und so macht man das auch heute noch bei gcc/clang(und vmtl. auch überall sonst) mit jeder neuen…