Stack-Parameter, aloca Speicher



  • Hi Leute

    Was sind Stack-Parameter und aloca Speicer? (System: win7 x64 Intel)
    Ich schreibe ein Schachprogramm und es muss schnell sein, daher baue ich mit Visual Studio zusätzlich asm Module ein. Ich möchte die Funktionen so schreiben, dass sie möglichst mit den compelierten Funktionen von C++ übereinstimmen und vieleicht sogar für optimierungen empfänglich sind. Ausserdem möchte ich lernen wie Visual Studio Code compeliert.



  • Die Größe des "Stapels" und die Adresse wo er aufhört. Oder einfach Start- und Endeadressen des Stapelspeichers.
    Außerdem brauchst du noch Adressen(anzeiger) bzw. Speicher oder Register oder eben Zeiger, um im Stapel selbst herumzunavigieren. Man kann aber auch mit den Assemblerregistern sehr schön mehrdimensionale Tabellen anlegen und hätte nicht so sehr mit der Frage zu tun: Was zeigt jetzt eigentlich wohin???. Die nötige Programmiertechiken hierzu helfen natürlich auch, einfacheren, effizenteren C-Code zu schreiben.

    Aber ob du wirklich Assembler brauchst, steht auf einem anderen Blatt. Schnelligkeit durch Algorithmen hat immer Vorrang. Als nächstes kommt dann der Blick auf Profilerergebnisse. Man kann sich dann Gedanken machen, und Variablen vertauschen, oder den C-Code etwas umschreiben, schauen, wo der Compiler optimaler optimiert usw.

    Schreib dein Programm erstmal so, so gut es geht ohne asm-Module, und schau, wie du ohne Assembler auf einen grünen Zweig kommst.


Log in to reply