问题
I am getting some warnings when compiling a C program on OSX 10.6.5, which seem to be quite critical.
extras.c:15: warning: implicit declaration of function ‘time’
extras.c: In function ‘outlog’:
extras.c:363: warning: implicit declaration of function ‘ctime’
The corresponding lines are as follows:
Lines 13-15:
RANDNUMGEN = gsl_rng_alloc(gsl_rng_taus);
long t1;
(void) time(&t1);
Lines 360-363:
if (LOG==NULL) { LOG=stdout;}
TVAL = time(NULL);
char* TIMESTRING = ctime(&TVAL);
I believe the program was originally written for Linux, so I wonder if there is a difference between time
and ctime
on the two platforms?
回答1:
Verify that the C files contains:
#include <time.h>
somewhere around the top.
Also,
long t1;
time(t1);
is pretty lousy code, the argument to time()
has type time_t*
, so that should read
time_t t1;
time(&t1);
来源:https://stackoverflow.com/questions/5041374/ctime-and-time-warnings-compiling-on-osx