2011-02-18 98 views
0

在編譯OSX 10.6.5上的C程序時,我收到了一些警告,這似乎非常關鍵。在OSX上編譯ctime和time警告

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,所以我想知道timectime之間是否有差別wo平臺?

回答

3

驗證C文件包含:

#include <time.h> 

某處周圍的頂部。

此外,

long t1; 
time(t1); 

是非常糟糕的代碼,該參數time()的類型爲time_t*,所以應該讀

time_t t1; 
time(&t1);