2014-10-30 49 views
1

当我使用--std=c99 GCC定义__STRICT_ANSI__,当它打开时,BSD和System V功能不踢。这意味着__USE_MISC__USE_POSIX没有定义。什么是C99中“解锁”I/O功能的等效物?

-- stdio.h -- 
... 
#if defined __USE_POSIX || defined __USE_MISC 
extern int getc_unlocked (FILE *__stream); 
extern int getchar_unlocked (void); 
#endif /* Use POSIX or MISC. */ 
... 

在结果中,我想要使用的函数被省略。我的问题是如何在C99中实现标准流上的I/O操作,但不锁定?

+0

你不能。但所有这些只有在C99中有线程时才有意义,这些线程不存在。由于C11有线程,可能但不是很多的实现。你碰巧有吗? – 2014-10-30 08:26:33

+0

据我所知,我可以在C99中创建线程。在我的情况下,创建的线程之一负责单个流上的I/O操作。 – soerium 2014-10-30 09:30:19

回答

3

使用-std=gnu99而不是-std=c99它会按照你想要的方式工作。

+0

看起来像这个简短的答案是我所需要的。谢谢! – soerium 2014-10-30 09:31:56

相关问题