[SOLVED] random und srandom benutzen



  • Hi,
    random und srandom sind ja nicht im C-Standard, werden aber im POSIX erweitert.
    Ich würde gerne die beiden Funktionen benutzen, allerdings bekomme ich beim Compilieren Probleme:

    quicksort.c:104:3: warning: implicit declaration of function ‘srandom’ [-Wimplicit-function-declaration]
    quicksort.c:108:3: warning: implicit declaration of function ‘random’ [-Wimplicit-function-declaration]

    Die man pages sagt:

    Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

    random(), srandom(), initstate(), setstate():
    _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

    Und so habe ich versucht mit folgender gcc-Option im Makefile zu kompilieren:

    CFLAGS = -g -W -Wall -ansi -pedantic -DMACRO=_XOPEN_SOURCE

    Allerdings bekomme ich dieselbe Warnung.

    Wie kompiliere ich das richtig?

    Danke im Voraus.
    Steffo

    PS: Ja, ich habe auch gelesen, dass random keine nennenswerten Vorteile gegenüber rand hat, allerdings ist das ne Vorgabe, dass ich das so machen soll.

    EDIT: -D_XOPEN_SOURCE=600. So funktionierts! 🙂


Anmelden zum Antworten