besonderheiten der kompilation oop



  • Na also geht doch:

    ich wollte keine verarschen, ect.
    Ausserdem verlange ich nicht das man mir antwortet, es wäre halt schöner..
    aber wenn man antwortet, dann bitte so das ich es auch verstehe.

    so dann, die frage so wie ich sie stellt war, hab ich als aufgabe bekommen um darüber eine ausarbeitung zumachen.
    Da ich aber keine ahnung hab was die besonderheiten sein sollen beim übersetzen dachte ich mir ich frag jemand der sich damit auskennt, um mir zumindest einen anstoss zu holen was vielleicht dazu gehören könnte ( als besonderheit).
    Es tut mir leid wenn sich jemand auf den schlips getreten fühlt, das war keine absicht.
    @ Bashar Danke, das du mir rückendeckung gibst

    So sollte nen Posting aussehen.
    Du hast keine tausend Satzzeichen nacheinander verwendet und dich endlich mal
    deutlich ausgedrückt.
    Es geht hier nicht um deinen Stil den meinte ich nicht, sondern darum, dass man
    in richtigem und vor allem verständlichen Deutsch um Hilfe bitten sollte.

    Ich kenn mich mit Compilern zwar nicht aus, aber ich weiß dass es aufgesetztes
    und richtiges OOP gibt.
    C++ ist richtiges, da es direkt in ASM umgewandelt wird und nicht intern erst
    in C und dann in Assembler.
    Die Objektorientierung bleibt aber auch im Assembler-Code enthalten, sonst wäre
    OOP nicht langsamer als ein prozedurales Programm.



  • SirLant schrieb:

    Ich kenn mich mit Compilern zwar nicht aus, aber ich weiß dass es aufgesetztes
    und richtiges OOP gibt.

    ?

    C++ ist richtiges, da es direkt in ASM umgewandelt wird und nicht intern erst
    in C und dann in Assembler.

    Wo steht das, und hast du schonmal von cfront gehört?

    Die Objektorientierung bleibt aber auch im Assembler-Code enthalten, sonst wäre
    OOP nicht langsamer als ein prozedurales Programm.

    Ist es?



  • SirLant schrieb:

    Ich kenn mich mit Compilern zwar nicht aus, aber ich weiß dass es aufgesetztes
    und richtiges OOP gibt.
    C++ ist richtiges, da es direkt in ASM umgewandelt wird und nicht intern erst
    in C und dann in Assembler.

    Und was ist mit CFront? Das ist ein Compiler, der aus dem C++ Code C code generiert.

    Die Objektorientierung bleibt aber auch im Assembler-Code enthalten, sonst wäre
    OOP nicht langsamer als ein prozedurales Programm.

    Interessant. Wie definiere ich in Assembler denn eine Klasse?



  • Das meinte ich doch nicht, ich meinte die Art wie etwas OOP mäßig erledigt wird,
    also Objekte usw. die werden auch gekapselt abgelegt wie Strukturen in C, nur sind
    Objekte halt komplexer (bei weitem).

    Und für richtige C++ Compiler ist es meines Wissens nach pflicht direkt in ASM
    und nicht über C zu compilieren.



  • SirLant schrieb:

    Das meinte ich doch nicht, ich meinte die Art wie etwas OOP mäßig erledigt wird,
    also Objekte usw. die werden auch gekapselt abgelegt wie Strukturen in C, nur sind
    Objekte halt komplexer (bei weitem).

    Verstehe ich nicht. Kannst du mir bitte erklaeren was du damit meinst?

    Und für richtige C++ Compiler ist es meines Wissens nach pflicht direkt in ASM
    und nicht über C zu compilieren.

    Also ich kann im Standard keine Stelle finden in der das verlangt wird.
    IMHO darf eine C++ Implementation auch Bytecode produzieren oder direkt Interpretieren.



  • Comeau compiliert doch auch über C, oder?



  • also ein klasse in C++ ist eine struktur aus C mit funktionen die als methoden hinzugefuegt werden



  • Was ist mit der Kaspelung? Was ist mit der virtuellen Methodentabelle? ...

    -----
    Auch wenns ernst gemeint war "4. Frag Bashar, wenn du was nicht verstehst." klingt irgendwie lustig.

    -----

    @gaga: Damit man vielleicht etwas mehr dahinterkommt, was du konkret willst, solltest du vielleicht mal erzählen, was du grade machst. Aus welchem Kontext heruas wurde diese seltsame Frage gestellt. Vielleicht wird es dann etwas klarer.



  • Sorry dann war das mit dem Compiler was anderes, hatte vor einiger Zeit wo
    gelesen, dass es für C++ irgendwie was besonderes war,dass es direkt in ASM
    umgewandelt wird und nicht in C und dann erst ASM.
    Hatte ich dann irgendwie falsch behalten.

    Daher hatte ich mir das zusammengereimt, dass es eben ein Unterschied gibt ob
    OOP direkt in ASM oder über eine prozedurale Sprache in ASM umgewandelt wird.

    Sorry nochmal.



  • @Helium
    Ich hatte weiter oben erwähnt, das ich das als aufgabe für eine ausarbeitung bekommen hab und ich mich erstmal erkundigen wollte nach was ich suchen muss.

    @ all
    jetzt weiss ich zumindest schon mal mehr als wie vorgestern....
    DANKE



  • @Helium
    Ich hatte weiter oben erwähnt, das ich das als aufgabe für eine ausarbeitung bekommen hab und ich mich erstmal erkundigen wollte nach was ich suchen muss.

    Hu???

    Aus welchem Kontext heruas wurde dir die Aufgabe gestellt? Antwort: Mir wurde eine Aufgabe gestellt.
    OK. Dann kann ich dir auch nicht helfen, tut mir leid.



  • SirLant schrieb:

    Daher hatte ich mir das zusammengereimt, dass es eben ein Unterschied gibt ob OOP direkt in ASM oder über eine prozedurale Sprache in ASM umgewandelt wird.

    Hast Du eigentlich den Thread gelesen? Insbesondere die Postings von Hume?
    Dann sollte Dir eigentlich klar sein, daß OOP garnicht in irgendwas umgewandelt wird, weder in ASM noch in sonstwas.

    MfG Jester



  • maschinencode halt
    aber das ist ja eigentlich assembler

    weil assembler eine 1:1 abbildung von maschinencode ist
    ausser das er halt so sachen hat wie makros und so - aber das lass ich jetzt einmal weg



  • Helium schrieb:

    Aus welchem Kontext heruas wurde dir die Aufgabe gestellt? Antwort: Mir wurde eine Aufgabe gestellt.
    OK. Dann kann ich dir auch nicht helfen, tut mir leid.

    Sorry,

    aber was ist daran so schwer zu verstehen, das ich eine aufgabe für eine ausarbeitung gestellt bekommen habe, die da hies:
    "Besonderheiten der compilation von oop"
    und da ich keine ahnung habe was ich darüber schreiben soll, geschweige den was die besonderheiten sind, dachte ich mir ich frag hier mal.
    Wenn du wissen willst, warum mir gerade das auferlegt wurde und wie man auf sowas kommen kann, kann ich dir sagen das es für Compilerbau ist.
    Ich hoffe das die antwort dich mehr zufrieden stellt....


Anmelden zum Antworten