Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
976 views
in Technique[技术] by (71.8m points)

c - TEMP_FAILURE_RETRY and __USE_GNU

I'm on Ubuntu 10.04 using GCC and I want to use the macro TEMP_FAILURE_RETRY as described here:

http://www.gnu.org/s/hello/manual/libc/Interrupted-Primitives.html

However, when I compile I got the following error:

undefined reference to `TEMP_FAILURE_RETRY'

I looked in unistd.h where the macro is defined and it is preceded by:

#ifdef __USE_GNU

How do I get my code to compile and use this macro? Can I simply wrap it using the same #ifdef __USE_GNU in my code?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

__USE_GNU is an internal macro, so you shouldn't define it yourself.

But you may define _GNU_SOURCE, either in your code, or when compiling (using the -D option).

I think defining this one will help to make TEMP_FAILURE_RETRY available.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...