[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NSIG oder wieviele Signal hat mein System?



Hallo,

bei Aufgabe 3 wäre es durchaus interessant zu wissen, wieviele Signale mein jeweiliges System gerade hat.

Ich habe da irgendwo gelesen, dass es eine Konstante NSIG gibt, die bedeutet, dass es die Signale von 1 bis NSIG -1 gibt.
Diese steht angeblich in der signal.h.

Wenn ich aber etwas kompilieren möchte, das NSIG im Sourcecode hat, bekomme ich immer:

test.c:

#include <signal.h>

void main(void){
return NSIG;
}


gcc-3.2 -std=c99 -Wall -c test.c

test.c:4: `NSIG' undeclared (first use in this function)

Lustigerweise kann man in cpp eingeben:

#include <signal.h>
NSIG

und erhält:

8< schnipp ... schnapp >8

# 1 "" 2

64

Deshalb hab ich mir mal mein eigenes NSIG definiert, aber ist das der richtige Weg????

Eine zweite Sache:

Gibt man "man strdup" ein, steht dort ein interessanter Eintrag über diese Funktion. In der Single Unix Spec V3 ist sie ebenfalls enthalten (aber XSI???). Benutzt man sie in seinem Programm, bekommt man:

builtins.c: In function `builtin_trap':
builtins.c:192: warning: implicit declaration of function `strdup'
builtins.c:192: warning: assignment makes pointer from integer without a cast

Lustigerweise funktioniert es trotzdem....

Vielen Dank schon mal für eure Antworten auf diese sicherlich unglaublich leichten Fragen bzgl. dieser unglaublich einfachen Aufgaben ;)

Marcus