Hallo,
ich hatte über foglendes nachgedacht:
Der Linux-kernel (CMDLine) ist ja unter einer Lizenz (GNU?).
De verbietet es - so weit ich weiß - den Kernel für Geld zu
publizieren.
Es gibt ja SuSe, die im laden einiges kostet, aber frei herunterladbar ist.
Sind die Kosten für das Material?
Kann ein Programmierer ein Linux-Programm schreiben,
und es mit dem Kernel und dem Setup zusammen verkaufen,
wobei er dabei schreibt, dass für den kernel keine Kosten erhoben werden? Wäre das legal oder würde das Krach geben?
Mfg,
Michael
Linux 15.036 Themen, 107.107 Beiträge
Bei C werden Zeiger verwendet. Zeiger gibt es weder bei Java noch bei Pascal.
Wenn man unter C eine Funktion aufruft, dann werden die Argumente über den Stack erst kopiert und dann an die Funktion übergeben.
Man kann Argumente an eine Funktion als Wert oder als Zeiger übergeben.
Wird das Argument als Wert übergeben, dann bekommt die Funktion eine Kopie des originalen Wertes. Diese Kopie kann sehr groß sein. Das Kopieren eines Wertes bei Übergabe des Wertes an die Funktion kann sehr viel Speicher und Rechenzeit kosten.
Deshalb soll man Argumente die sehr viel Speicher verbrauchen würden, als Zeiger an die Funktion übergeben.
Ein Zeiger ist praktisch nur die RAM-Adresse von einem Wert.
Da braucht nur noch ein Adresswert über den Stack kopiert werden.
Das geht schneller und verbraucht weniger Speicher.
Man sagt deshalb das C eine sehr maschinennahe Programmiersprache ist (und Pascal nur ein Krücke ;-)).
Bei C++ gibt es zusätzlich noch Referenzen.
Ein Referenz ist praktisch gesehen ein Zeiger der automatisch dereferenziert wird (um es mal einfach auszudrücken).
