/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
gcc: Underlig opførsel
Fra : Michael Rasmussen


Dato : 09-08-06 23:31

Hej alle,

Jeg har observeret en underlig opførsel fra gcc:

givet følgende:

/* compile with: gcc -W -Wall -pedantic -std=c99 -o test test.c */
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
srandom(time(NULL) + getpid());
printf("Random: %d\n", (int) random() % 10);
return 0;
}

Giver dette output
test.c: In function 'main':
test.c:8: warning: implicit declaration of function 'srandom'
test.c:9: warning: implicit declaration of function 'random'

Sættes -std=c89 får jeg samme output.

Nogen der kan forklare det?

Mit eget bud er, at option -std=c89 eller -std=c99 betyder, at stdlib.h
ikke definerer funktionerne srandom og random, men givet fald, hvor er de
så defineret henne?

Dooh, hev lige K&R ned fra hylden: I ansi C hedder de rand og srand.
Forskellen er, at rand returnerer en int, mens random returnerer en long
int.

Ikke noget spørgsmål mere, men jeg poster det alligevel, da andre kunne
have interesse for forklaringen. Håber det er OK med fundatsen for
gruppen?

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


 
 
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste