簡體   English   中英

function 'rand_r' 的隱式聲明

[英]implicit declaration of function ‘rand_r’

我知道有很多類似標題的問題,但到目前為止我還沒有找到一個可以解決我的情況的問題。

制作文件時,我收到提示

warning: implicit declaration of function ‘rand_r’ [-Wimplicit-function-declaration]

但是我已經包含了stdlib.hunistd.h ,為什么它還在發生? 是因為makefile嗎?

我在 Linux 上運行這個,我的 makefile 大致如下:

prog: prog.o
    gcc -g -o $@ $^ -lpthread

%.o:%.c *.h
    gcc -ansi -pedantic -Wimplicit-function-declaration -Wreturn-type -g -c $< -o $@

謝謝

rand_r()內容如下:

函數 rand() 和 srand() 符合 SVr4、4.3BSD、C89、C99、POSIX.1-2001。 function rand_r() 來自 POSIX.1-2001。 POSIX.1-2008 將 rand_r() 標記為已過時。

您的編譯選項指定-ansi (C89/C90) 從而將您限制為rand()srand()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM