亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? putchar_unlocked.html

?? posix標(biāo)準(zhǔn)英文,html格式
?? HTML
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta name="generator" content="HTML Tidy, see www.w3.org"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 --><!-- Copyright (c) 2001-2004 IEEE and The Open Group, All Rights Reserved --><title>getc_unlocked</title></head><body bgcolor="white"><script type="text/javascript" language="JavaScript" src="../jscript/codes.js"></script><basefont size="3"> <a name="getc_unlocked"></a> <a name="tag_03_211"></a><!-- getc_unlocked --> <!--header start--><center><font size="2">The Open Group Base Specifications Issue 6<br>IEEE Std 1003.1, 2004 Edition<br>Copyright &copy; 2001-2004 The IEEE and The Open Group, All Rights reserved.</font></center><!--header end--><hr size="2" noshade><h4><a name="tag_03_211_01"></a>NAME</h4><blockquote>getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - stdio with explicit client locking</blockquote><h4><a name="tag_03_211_02"></a>SYNOPSIS</h4><blockquote class="synopsis"><div class="box"><code><tt><sup>[<a href="javascript:open_code('TSF')">TSF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> #include &lt;<a href="../basedefs/stdio.h.html">stdio.h</a>&gt;<br><br> int getc_unlocked(FILE *</tt><i>stream</i><tt>);<br> int getchar_unlocked(void);<br> int putc_unlocked(int</tt> <i>c</i><tt>, FILE *</tt><i>stream</i><tt>);<br> int putchar_unlocked(int</tt> <i>c</i><tt>); <img src="../images/opt-end.gif" alt="[Option End]" border="0"></tt></code></div><tt><br></tt></blockquote><h4><a name="tag_03_211_03"></a>DESCRIPTION</h4><blockquote><p>Versions of the functions <a href="../functions/getc.html"><i>getc</i>()</a>, <a href="../functions/getchar.html"><i>getchar</i>()</a>, <a href="../functions/putc.html"><i>putc</i>()</a>, and <a href="../functions/putchar.html"><i>putchar</i>()</a> respectively named <i>getc_unlocked</i>(), <i>getchar_unlocked</i>(),<i>putc_unlocked</i>(), and <i>putchar_unlocked</i>() shall be provided which are functionally equivalent to the original versions,with the exception that they are not required to be implemented in a thread-safe manner. They may only safely be used within ascope protected by <a href="../functions/flockfile.html"><i>flockfile</i>()</a> (or <a href="../functions/ftrylockfile.html"><i>ftrylockfile</i>()</a>) and <a href="../functions/funlockfile.html"><i>funlockfile</i>()</a>.These functions may safely be used in a multi-threaded program if and only if they are called while the invoking thread owns the (<b>FILE *</b>) object, as is the case after a successful call to the <a href="../functions/flockfile.html"><i>flockfile</i>()</a>or <a href="../functions/ftrylockfile.html"><i>ftrylockfile</i>()</a> functions.</p></blockquote><h4><a name="tag_03_211_04"></a>RETURN VALUE</h4><blockquote><p>See <a href="getc.html"><i>getc</i>()</a> , <a href="getchar.html"><i>getchar</i>()</a> , <a href="putc.html"><i>putc</i>()</a>, and <a href="putchar.html"><i>putchar</i>()</a>.</p></blockquote><h4><a name="tag_03_211_05"></a>ERRORS</h4><blockquote><p>See <a href="getc.html"><i>getc</i>()</a> , <a href="getchar.html"><i>getchar</i>()</a> , <a href="putc.html"><i>putc</i>()</a>, and <a href="putchar.html"><i>putchar</i>()</a>.</p></blockquote><hr><div class="box"><em>The following sections are informative.</em></div><h4><a name="tag_03_211_06"></a>EXAMPLES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_211_07"></a>APPLICATION USAGE</h4><blockquote><p>Since they may be implemented as macros, <i>getc_unlocked</i>() and <i>putc_unlocked</i>() may treat incorrectly a <i>stream</i>argument with side effects. In particular, <i>getc_unlocked</i>(*f++) and <i>putc_unlocked</i>(*f++) do not necessarily work asexpected. Therefore, use of these functions in such situations should be preceded by the following statement as appropriate:</p><pre><tt>#undef getc_unlocked#undef putc_unlocked</tt></pre></blockquote><h4><a name="tag_03_211_08"></a>RATIONALE</h4><blockquote><p>Some I/O functions are typically implemented as macros for performance reasons (for example, <a href="../functions/putc.html"><i>putc</i>()</a> and <a href="../functions/getc.html"><i>getc</i>()</a>). For safety, they need to besynchronized, but it is often too expensive to synchronize on every character. Nevertheless, it was felt that the safety concernswere more important; consequently, the <a href="../functions/getc.html"><i>getc</i>()</a>, <a href="../functions/getchar.html"><i>getchar</i>()</a>, <a href="../functions/putc.html"><i>putc</i>()</a>, and <a href="../functions/putchar.html"><i>putchar</i>()</a> functions are required to be thread-safe. However, unlocked versions are alsoprovided with names that clearly indicate the unsafe nature of their operation but can be used to exploit their higher performance.These unlocked versions can be safely used only within explicitly locked program regions, using exported locking primitives. Inparticular, a sequence such as:</p><pre><tt>flockfile(fileptr);putc_unlocked('1', fileptr);putc_unlocked('\n', fileptr);fprintf(fileptr, "Line 2\n");funlockfile(fileptr);</tt></pre><p>is permissible, and results in the text sequence:</p><pre><tt>1Line 2</tt></pre><p>being printed without being interspersed with output from other threads.</p><p>It would be wrong to have the standard names such as <a href="../functions/getc.html"><i>getc</i>()</a>, <a href="../functions/putc.html"><i>putc</i>()</a>, and so on, map to the &quot;faster, but unsafe&quot; rather than the &quot;slower, but safe''versions. In either case, you would still want to inspect all uses of <a href="../functions/getc.html"><i>getc</i>()</a>, <a href="../functions/putc.html"><i>putc</i>()</a>, and so on, by hand when converting existing code. Choosing the safe bindings as thedefault, at least, results in correct code and maintains the &quot;atomicity at the function&quot; invariant. To do otherwise wouldintroduce gratuitous synchronization errors into converted code. Other routines that modify the <i>stdio</i> ( <b>FILE *</b>)structures or buffers are also safely synchronized.</p><p>Note that there is no need for functions of the form <i>getc_locked</i>(), <i>putc_locked</i>(), and so on, since this is thefunctionality of <a href="../functions/getc.html"><i>getc</i>()</a>, <a href="../functions/putc.html"><i>putc</i>()</a>, <i>etal</i>. It would be inappropriate to use a feature test macro to switch a macro definition of <a href="../functions/getc.html"><i>getc</i>()</a> between <i>getc_locked</i>() and <i>getc_unlocked</i>(), since the ISO&nbsp;C standardrequires an actual function to exist, a function whose behavior could not be changed by the feature test macro. Also, providingboth the <i>xxx_locked</i>() and <i>xxx_unlocked</i>() forms leads to the confusion of whether the suffix describes the behavior ofthe function or the circumstances under which it should be used.</p><p>Three additional routines, <a href="../functions/flockfile.html"><i>flockfile</i>()</a>, <a href="../functions/ftrylockfile.html"><i>ftrylockfile</i>()</a>, and <a href="../functions/funlockfile.html"><i>funlockfile</i>()</a>(which may be macros), are provided to allow the user to delineate a sequence of I/O statements that are executedsynchronously.</p><p>The <a href="../functions/ungetc.html"><i>ungetc</i>()</a> function is infrequently called relative to the otherfunctions/macros so no unlocked variation is needed.</p></blockquote><h4><a name="tag_03_211_09"></a>FUTURE DIRECTIONS</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_211_10"></a>SEE ALSO</h4><blockquote><p><a href="getc.html"><i>getc</i>()</a>, <a href="getchar.html"><i>getchar</i>()</a>, <a href="putc.html"><i>putc</i>()</a>, <ahref="putchar.html"><i>putchar</i>()</a>, the Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001, <a href="../basedefs/stdio.h.html"><i>&lt;stdio.h&gt;</i></a></p></blockquote><h4><a name="tag_03_211_11"></a>CHANGE HISTORY</h4><blockquote><p>First released in Issue 5. Included for alignment with the POSIX Threads Extension.</p></blockquote><h4><a name="tag_03_211_12"></a>Issue 6</h4><blockquote><p>These functions are marked as part of the Thread-Safe Functions option.</p><p>The Open Group Corrigendum U030/2 is applied, adding APPLICATION USAGE describing how applications should be written to avoidthe case when the functions are implemented as macros.</p></blockquote><div class="box"><em>End of informative text.</em></div><hr size="2" noshade><center><font size="2"><!--footer start-->UNIX &reg; is a registered Trademark of The Open Group.<br>POSIX &reg; is a registered Trademark of The IEEE.<br>[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href="../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>]</font></center><!--footer end--><hr size="2" noshade></body></html>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线一区二区三区| 午夜精品久久久久久久久久久| 欧美日本在线播放| 91原创在线视频| 成人免费看的视频| 97久久超碰精品国产| 欧洲精品视频在线观看| 欧美一区在线视频| 精品动漫一区二区三区在线观看| 日韩欧美国产午夜精品| 久久九九99视频| 亚洲精品久久久蜜桃| 一区二区高清免费观看影视大全| 一区二区三区高清不卡| 日韩毛片一二三区| 亚洲成人黄色小说| 国产白丝精品91爽爽久久| 色综合久久综合网97色综合| 欧美日韩国产首页| 国产欧美精品一区二区三区四区| 国产精品麻豆久久久| 香蕉加勒比综合久久| 国产成人av电影在线播放| 欧美中文字幕一二三区视频| 精品少妇一区二区| 亚洲国产一区视频| 成人一区二区三区视频在线观看| 欧美日韩一区二区三区四区 | 久久久久久综合| 亚洲成a人片综合在线| 91免费看片在线观看| 国产日本亚洲高清| 国产成人av电影在线观看| 日韩欧美一级二级三级| 日韩电影在线一区| 欧美一二三四区在线| 日韩av高清在线观看| 欧美一区二区三区四区五区| 成人欧美一区二区三区黑人麻豆 | 国产欧美精品国产国产专区| 奇米在线7777在线精品| 制服丝袜中文字幕亚洲| 石原莉奈一区二区三区在线观看| 在线观看日韩电影| 亚洲图片一区二区| 6080日韩午夜伦伦午夜伦| 亚洲五月六月丁香激情| av中文字幕亚洲| 日韩一区欧美一区| 91黄色在线观看| 麻豆一区二区三| 欧美激情在线观看视频免费| 丁香激情综合国产| 亚洲三级电影全部在线观看高清| 99re这里只有精品首页| 亚洲国产日韩一级| 国产蜜臀97一区二区三区 | 日韩一区二区在线播放| 国产精品99久久久久久宅男| 亚洲综合视频在线| 欧美精品一区男女天堂| 欧美三片在线视频观看| 国内精品免费在线观看| 亚洲精品国产无套在线观| 欧美一区二区黄色| 欧美自拍丝袜亚洲| 成人黄色一级视频| 香蕉加勒比综合久久 | 麻豆91在线播放| 亚洲电影一区二区三区| 国产精品久久久久永久免费观看 | 国产精品九色蝌蚪自拍| 精品视频一区二区不卡| 色屁屁一区二区| 成人av资源站| 国产999精品久久| 免费在线观看一区二区三区| 亚洲靠逼com| 一区二区激情小说| 亚洲精品v日韩精品| 亚洲色图视频网站| 国产午夜亚洲精品午夜鲁丝片| 欧美一区二区成人| 欧美三片在线视频观看 | 亚洲国产成人一区二区三区| 亚洲精品在线免费观看视频| 日韩视频在线永久播放| 91麻豆精品国产91久久久久久 | 日韩福利电影在线观看| 日韩精品每日更新| 丝袜美腿成人在线| 激情都市一区二区| 欧美绝品在线观看成人午夜影视| 99久久亚洲一区二区三区青草 | 中文字幕不卡在线观看| 最好看的中文字幕久久| 综合欧美亚洲日本| 日韩中文字幕区一区有砖一区| 午夜精品久久久久| 毛片av一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 色天天综合色天天久久| 欧美精品在线视频| 久久久天堂av| 亚洲va国产va欧美va观看| 国产在线精品一区二区三区不卡| 国产成人综合视频| 欧美一区二区三区男人的天堂| 久久精品人人做人人爽97| 国产精品久久国产精麻豆99网站| 午夜精品福利一区二区三区av| 国产精品正在播放| 精品污污网站免费看| 国产精品拍天天在线| 国产乱子伦一区二区三区国色天香| 国产成人一区在线| 制服丝袜av成人在线看| 亚洲欧美日韩国产一区二区三区| 久久精品国产精品青草| 欧美在线色视频| 国产精品欧美一区喷水| 国产在线精品免费| 欧美国产日韩在线观看| 国产成人免费视频网站| 精品国内片67194| 日韩二区在线观看| 欧美大片在线观看一区| 国精产品一区一区三区mba视频 | 亚洲狠狠爱一区二区三区| 99久久99久久免费精品蜜臀| 国产精品网站一区| 91日韩精品一区| 亚洲欧美成人一区二区三区| 不卡免费追剧大全电视剧网站| 国产亚洲综合性久久久影院| 精品在线你懂的| 欧美mv日韩mv国产网站| 免费欧美高清视频| 精品国产欧美一区二区| 99精品视频中文字幕| 亚洲国产综合91精品麻豆| 欧美一区二区三区啪啪| 国产丶欧美丶日本不卡视频| 中文字幕中文在线不卡住| 色婷婷av一区二区三区之一色屋| 五月婷婷激情综合| 2023国产一二三区日本精品2022| 国产夫妻精品视频| 夜夜嗨av一区二区三区网页| 日韩欧美123| 色综合久久综合| 成人免费观看男女羞羞视频| 亚洲乱码精品一二三四区日韩在线| 欧美日韩久久不卡| av在线这里只有精品| 奇米一区二区三区| 一区二区三区成人| 国产午夜精品久久久久久免费视 | 久久久久青草大香线综合精品| 色视频欧美一区二区三区| 国产91精品免费| 日韩高清不卡一区二区三区| 成人免费在线视频观看| 久久女同精品一区二区| 欧美精选在线播放| 欧美性大战久久| 欧美日韩亚洲综合| 欧美日韩色一区| 欧美亚洲国产一区在线观看网站| 一本色道亚洲精品aⅴ| 99国产精品久久久久久久久久久| 蜜乳av一区二区| 日本三级亚洲精品| 日韩电影免费一区| 日韩精品乱码av一区二区| 日本强好片久久久久久aaa| 日韩不卡免费视频| 日韩av成人高清| 国内精品在线播放| 国产成人亚洲综合a∨猫咪| 粉嫩一区二区三区在线看| 成人免费三级在线| 色综合一区二区三区| 色综合久久中文综合久久牛| 欧美色偷偷大香| 日韩精品一区二区三区蜜臀 | 日欧美一区二区| 九色|91porny| gogo大胆日本视频一区| 91麻豆精品在线观看| 欧美日韩久久一区| 337p日本欧洲亚洲大胆精品| 久久九九久精品国产免费直播| 亚洲欧洲av另类| 美女www一区二区| 成人av电影观看| 欧美丰满嫩嫩电影| 国产亚洲精品超碰| 午夜激情一区二区| 国产suv精品一区二区883|