компиляция предупреждений ctime и time на OSX

Я получаю некоторые предупреждения при компиляции программы C на OSX 10.6.5, которые кажутся весьма важными.

extras.c:15: warning: implicit declaration of function ‘time’
extras.c: In function ‘outlog’:
extras.c:363: warning: implicit declaration of function ‘ctime’

Соответствующие строки выглядят следующим образом:

Строки 13-15:

RANDNUMGEN = gsl_rng_alloc(gsl_rng_taus);
long t1;
(void) time(&t1);

Строки 360-363:

if (LOG==NULL) { LOG=stdout;}

TVAL = time(NULL);
char* TIMESTRING = ctime(&TVAL);

Я считаю, что программа изначально была написана для Linux, поэтому мне интересно, есть ли разница между time и ctime на этих двух платформах?


person Bill Cheatham    schedule 18.02.2011    source источник


Ответы (1)


Убедитесь, что файлы C содержат:

#include <time.h>

где-то сверху.

Также,

long t1;
time(t1);

довольно паршивый код, аргумент time() имеет тип time_t*, так что следует читать

time_t t1;
time(&t1);
person unwind    schedule 18.02.2011