PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Begriffserklärungen


Gast
2004-03-29, 18:58:27
Hallo Leute!

Was würdet ihr davon halten, so ne Art FAQ für Fachbegriffe aus dem Bereich Programmierung zu machen? D.h., ein Sammelthread, in dem Fragen gestellt werden und eine "offiziellen" Thread, in dem alphabetisch alle Fragen beantwortet werden, oder zumindest ein Link zu erklärenden Seiten gesetzt wurde?

Und wenn dafür kein Interesse besteht, dann wär ich euch sehr verbunden, wenn ihr mir sagen könntet, was ein Framework ist.. Den Begriff hab ich schon zig-mal gehört, aber bis jetzt konnt ich mir darauf noch keinen Reim machen...

Aqualon
2004-03-29, 20:12:24
Zu Framework allgemein: http://www.thefreedictionary.com/framework

Im Computerbereich ist ein Framework eine Art Grundlagensystem, auf dessen Basis neue Anwendungen erstellt werden. Sinn des ganzen ist, dass man nicht für jede Anwendung bei Adam & Eva anfangen muss, sondern alle gemeinsamen Bestandteile verschiedener Anwendungen in einem Framework ablegt, auf dessen Basis man die jeweiligen spezifischen Anwendungen erstellt.

In so einem Framework können z.B. Methoden zum Datenbankzugriff oder zur Erstellung grafischer Oberflächen definiert sein.

Aqua

Gast
2004-04-08, 15:12:52
könnte mir jemand die Begriffe:

-Bereich der globalen Namen,
-Heap,
-Register,
-Codebereich,
-Stack.

Möglichst genau erklären? ich hab das alles jetzt schon öfters gehört und wüsste gerne, worum es sich dabei handelt (bin darauf gestoßen, während ich mich in C++ einarbeite.. meine erste Programmiersprache)

Brillus
2004-04-08, 23:52:10
Heap uns Stack sind 2 Speicherbereiche. Im Stack werden die Daten gespeichert welche für Funktionen verwendet werden dazu gehören übergebene Parameter Lokale Variablen die Rüchsrprungaddresse wenn die Funktion fertig ist etc.

Der Heap ist ein dynamischer Speicherberiech das heisst man kann sich Speicher davon allokalisiernen(offentlich haeb ich es richtig geschrieben) in C(++) mit den Funktionen malloc ode new(C++) und ihn wenn man ihn nichtmehr braucht wieder Freigeben. Variblen denen man so Speicherplatz zuweisst haben gewisse Vorteile gegenüber Lokalen oder Globalen Variablen.

Gegenüber den Globalen das sie nur solange Speicher verbrauchen wie man sie braucht und gegenüber den Lokalen das sie auch noch dann existernen wenn man die Funktion verlässt welche sie erstellt hat bzw schleife)
hier mal bisschen Quellcod mit Kommenaren viellicht ist es dann klarer mit den Speicherbereich sag aber schon gleich ist nicht so besonders

int y=1;/*ist Globale Varible und kann in allen Funktioenen verwenedt
werden Speciehr für sie wird beim Programmerstart reserviert und bei Programmende freigegebn*/


int add(int a,int b)//a und b liegen auf den Stack und sind ab hier existent
{
return a+b;
};//Und ab hier gibts a und b nichtmehr

int*allocint(int a)
{
int*n=new int;//die Variale auf die n zeigt liegt auf dem Heap
*n=a;
return n;
};

void main()
{
int*v;
v=allocint(1);
*v=*v+add(y,3);
delete v;// erst ab hier gibt es den Speciehrplatz nichtmehr auf den v zeigt(der in allocint() erstellt wurde
};

Register sind die Speicher in einem CPU aus denen er die Berechung anstellt bzw das Ergebniss von dieser Speichert.

Bei den andern b eiden kann ich dir ohne Zusammenhang nicht helfen was damit gemeint ist.

Nachtrag: Vor hier irgendwelche Fehlschlüsse aufkommen Variablen auf dem Heap haben natrülich auch Nachteile. Der größte ist das man ihren Speicherplatz selber wieder Freigeben muss. Wenn man es nicht tut kommt es z7u Memory Leaks also das es Speicher gibt der Reserviert wurde aber nicht benutz werden kann weil der passende Zeiger der auf ihn Zeigt gelöscht wurde. Und das wenn man mit Variablen auf dem Heap arbeitet man auch zeiger braucht, wechle wenn man nicht aufpasst sehr schnell zu ZugriffVerletzungen auf den Speicher führen.