Moin
Ich würde gerne beim initialisieren des Treiberinterfaces Zeiger auf alle Treiber_init sammeln, so das diese danach der Reihe nach abgearbeitet werden können.
Soll heiß der PCI-Treiber findet ein paar geräte und er trägt alle init Funktionen in ein Array oder eine verkettete Liste ein. Dort werden dann noch floppy, hdd und andere Treiber eingetragen. Danach initialisiert das Interface alle Treiber, die sich dann Ports registrieren und ihren IRQ handler eintragen können.
Nun aber zu meinem Problem. Ich weiß ja zur compile Zeit nicht wie viele Geräte gefunden werden.daher kann ich das Array nicht mit einer festen größe initialisieren. Wenn ich statt einer Konstanten dort eine Variable eintrage meckert GCC. Weiß einer wie ich gcc überreden kann es einfach so hinzunehmen? Ja ich benutze -std=c99
Verkettete liste wäre auch ne möglichkeit. Eine struct mit 2 Zeigern. Eine auf die Funktion und die andere auf den nächsten eintrag.
Was ist eurer meinung nach besser? Gibt es bei einem der beidemLösungen Nachteile gegenüber der anderen?
Programm Noob
Ich würde gerne beim initialisieren des Treiberinterfaces Zeiger auf alle Treiber_init sammeln, so das diese danach der Reihe nach abgearbeitet werden können.
Soll heiß der PCI-Treiber findet ein paar geräte und er trägt alle init Funktionen in ein Array oder eine verkettete Liste ein. Dort werden dann noch floppy, hdd und andere Treiber eingetragen. Danach initialisiert das Interface alle Treiber, die sich dann Ports registrieren und ihren IRQ handler eintragen können.
Nun aber zu meinem Problem. Ich weiß ja zur compile Zeit nicht wie viele Geräte gefunden werden.daher kann ich das Array nicht mit einer festen größe initialisieren. Wenn ich statt einer Konstanten dort eine Variable eintrage meckert GCC. Weiß einer wie ich gcc überreden kann es einfach so hinzunehmen? Ja ich benutze -std=c99
Verkettete liste wäre auch ne möglichkeit. Eine struct mit 2 Zeigern. Eine auf die Funktion und die andere auf den nächsten eintrag.
Was ist eurer meinung nach besser? Gibt es bei einem der beidemLösungen Nachteile gegenüber der anderen?
Programm Noob

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken
Gespeichert

), das setzt dann aber wieder abstrahierte Busse voraus.