shmget
-
hallo,
int shmid = shmget(IPC_PRIVATE, SIZE,IPC_CREAT|IPC_EXCL);
( SIZE ist vorher definiert)
erzeugt bei mir immer den Fehler " Initialisierungselement nicht konstant" und weiß absolut nicht was ich falsch mache.Kann mir jemand helfen?
-
Na, mit dem bisschen Information das du uns gibst, können wir dir auch nicht helfen, außer dass da wohl eine Nicht-Konstante steht, wo eine Konstante hin muss. Wilde Spekulation: Fehler im Umgang mit Makros, machen viele Anfänger falsch.
-
Ich nehme an, dass es sich bei shmid um eine globale Variable handelt. Standard-C erlaubt es nicht, solche mit variablen Ausdrücken zu initialisieren (obwohl einige Compiler hierfür Erweiterungen haben); du wirst die Zuweisung also irgendwo in main() anstoßen müssen.