📄 pthread_attr_setstackaddr.html
字号:
<!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-2003 The Open Group, All Rights Reserved --><title>pthread_attr_getstackaddr</title></head><body bgcolor="white"><script type="text/javascript" language="JavaScript" src="../jscript/codes.js"></script><basefont size="3"> <a name="pthread_attr_getstackaddr"></a> <a name="tag_03_495"></a><!-- pthread_attr_getstackaddr --> <!--header start--><center><font size="2">The Open Group Base Specifications Issue 6<br>IEEE Std 1003.1, 2003 Edition<br>Copyright © 2001-2003 The IEEE and The Open Group, All Rights reserved.</font></center><!--header end--><hr size="2" noshade><h4><a name="tag_03_495_01"></a>NAME</h4><blockquote>pthread_attr_getstackaddr, pthread_attr_setstackaddr - get and set the stackaddr attribute</blockquote><h4><a name="tag_03_495_02"></a>SYNOPSIS</h4><blockquote class="synopsis"><div class="box"><code><tt><sup>[<a href="javascript:open_code('THR TSA')">THR TSA</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> #include <<a href="../basedefs/pthread.h.html">pthread.h</a>><br><br> <img src="../images/opt-end.gif" alt="[Option End]" border="0"></tt></code></div><div class="box"><code><tt><sup>[<a href="javascript:open_code('OB')">OB</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> int pthread_attr_getstackaddr(const pthread_attr_t *restrict</tt> <i>attr</i><tt>,<br> void **restrict</tt> <i>stackaddr</i><tt>);<br> int pthread_attr_setstackaddr(pthread_attr_t *</tt><i>attr</i><tt>, void *</tt><i>stackaddr</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_495_03"></a>DESCRIPTION</h4><blockquote><p>The <i>pthread_attr_getstackaddr</i>() and <i>pthread_attr_setstackaddr</i>() functions, respectively, shall get and set thethread creation <i>stackaddr</i> attribute in the <i>attr</i> object.</p><p>The <i>stackaddr</i> attribute specifies the location of storage to be used for the created thread's stack. The size of thestorage shall be at least {PTHREAD_STACK_MIN}.</p></blockquote><h4><a name="tag_03_495_04"></a>RETURN VALUE</h4><blockquote><p>Upon successful completion, <i>pthread_attr_getstackaddr</i>() and <i>pthread_attr_setstackaddr</i>() shall return a value of 0;otherwise, an error number shall be returned to indicate the error.</p><p>The <i>pthread_attr_getstackaddr</i>() function stores the <i>stackaddr</i> attribute value in <i>stackaddr</i> ifsuccessful.</p></blockquote><h4><a name="tag_03_495_05"></a>ERRORS</h4><blockquote><p>No errors are defined.</p><p>These functions shall not return an error code of [EINTR].</p></blockquote><hr><div class="box"><em>The following sections are informative.</em></div><h4><a name="tag_03_495_06"></a>EXAMPLES</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_495_07"></a>APPLICATION USAGE</h4><blockquote><p>The specification of the <i>stackaddr</i> attribute presents several ambiguities that make portable use of these interfacesimpossible. The description of the single address parameter as a "stack" does not specify a particular relationship between theaddress and the "stack" implied by that address. For example, the address may be taken as the low memory address of a bufferintended for use as a stack, or it may be taken as the address to be used as the initial stack pointer register value for the newthread. These two are not the same except for a machine on which the stack grows "up" from low memory to high, and on which a"push" operation first stores the value in memory and then increments the stack pointer register. Further, on a machine where thestack grows "down" from high memory to low, interpretation of the address as the "low memory" address requires a determinationof the intended size of the stack. IEEE Std 1003.1-2001 has introduced the new interfaces <a href="../functions/pthread_attr_setstack.html"><i>pthread_attr_setstack</i>()</a> and <a href="../functions/pthread_attr_getstack.html"><i>pthread_attr_getstack</i>()</a> to resolve these ambiguities.</p></blockquote><h4><a name="tag_03_495_08"></a>RATIONALE</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_495_09"></a>FUTURE DIRECTIONS</h4><blockquote><p>None.</p></blockquote><h4><a name="tag_03_495_10"></a>SEE ALSO</h4><blockquote><p><a href="pthread_attr_destroy.html"><i>pthread_attr_destroy</i>()</a> , <a href="pthread_attr_getdetachstate.html"><i>pthread_attr_getdetachstate</i>()</a> , <a href="pthread_attr_getstack.html"><i>pthread_attr_getstack</i>()</a> , <a href="pthread_attr_getstacksize.html"><i>pthread_attr_getstacksize</i>()</a> , <a href="pthread_attr_setstack.html"><i>pthread_attr_setstack</i>()</a> , <a href="pthread_create.html"><i>pthread_create</i>()</a> , theBase Definitions volume of IEEE Std 1003.1-2001, <a href="../basedefs/limits.h.html"><i><limits.h></i></a>, <ahref="../basedefs/pthread.h.html"><i><pthread.h></i></a></p></blockquote><h4><a name="tag_03_495_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_495_12"></a>Issue 6</h4><blockquote><p>The <i>pthread_attr_getstackaddr</i>() and <i>pthread_attr_setstackaddr</i>() functions are marked as part of the Threads andThread Stack Address Attribute options.</p><p>The <b>restrict</b> keyword is added to the <i>pthread_attr_getstackaddr</i>() prototype for alignment with theISO/IEC 9899:1999 standard.</p><p>These functions are marked obsolescent.</p></blockquote><div class="box"><em>End of informative text.</em></div><hr><hr size="2" noshade><center><font size="2"><!--footer start-->UNIX ® is a registered Trademark of The Open Group.<br>POSIX ® 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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -