2014-10-30 85 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

相關問題