Ich versuche, ein C-Programm zu übersetzen. Die Zielsprache ist nicht wirklich wichtig, ich versuche nur zu verstehen, was jeder einzelne Teil des Programms macht.Übersetzen C-Programm in andere Programmiersprachen
ich keine weiteren Details finden Sie unter:
variable=1;
while(variable);
Ich verstehe, dass dies eine Schleife ist, und das ist wahr (I ähnliche Fragen auf Stack-Überlauf gelesen habe, wo ein Code tatsächlich ausgeführt wurde), aber in diesem Fall Damit ist kein Code verbunden. Also ich wundere mich, ist das Programm "schlafen" - während dieser Zeit ausgeführt wird?
Dann ein anderer Teil ich nicht verstehe, ist:
variable=0;
variable=variable^0x800000;
ich, dass Wert glaube 24bit sein sollte, aber ist das wirklich in jedem anderen Programmiersprache erforderlich, die nicht niedriges Niveau wie C?
Vielen Dank
Die Schleife ist eine Endlosschleife, die nur CPU-Zyklen belegt. Am wichtigsten ist, dass es * den Prozess nicht in den Schlaf versetzt, es ist eine "busy-wait" -Schleife, die so viel CPU-Zeit wie möglich verbraucht. Was die andere Sache betrifft, kommt es darauf an. Sie können wirklich keine Übersetzung machen, solange Sie nicht sowohl die Ausgangs- als auch die Zielsprache kennen und Sie diese gut kennen müssen. –
@Someprogrammerdude danke. Ich kann nicht wirklich glauben, dass das "nutzlos" ist. Dies ist in der Dokumentation eines populären Hardware-Chips geschrieben: -/Warum würden sie verwenden, wenn der einzige Zweck ist, cpu ... – MeV
zu verwenden, wenn die Variable flüchtig ist, und eine Art von Interrupt setzt die Variable = 0, die Schleife kann verlassen ...;) – LPs