侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 239 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

pthread_attr_setstacksize函数用法详解

noerror
2022-10-04 / 0 评论 / 0 点赞 / 281 阅读 / 447 字 / 正在检测是否收录...

pthread_attr_setstacksize函数用法详解

pthread_attr_setstacksize函数简介

  • 头文件包含
#include <pthread.h>
  • 函数定义
int pthread_attr_setstacksize(pthread_attr_t * attr \
int pthread_attr_getstacksize(const pthread_attr_t * attr ,
                              size_t * stacksize );
  • 编译链接选项
-pthread

pthread_attr_setstacksize函数常见使用错误

  • 链接错误
    undefined reference to `pthread_attr_setstacksize'
    解决办法:添加链接选项
-pthread
  • 编译错误
    warning: implicit declaration of function ‘pthread_attr_setstacksize’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <pthread.h>

pthread_attr_setstacksize函数详细描述

pthread_attr_setstacksize ()函数将attr引用的thread attributes对象的stack size属性设置为stacksize 中指定的值
stack size属性确定将为使用thread attributes对象attr 创建的线程分配的最小大小(以字节为单位)
pthread_attr_getstacksize ()函数返回attr在stacksize 指向的缓冲区中引用的thread attributes对象的stack size属性

pthread_attr_setstacksize函数返回值

如果成功,这些函数返回0;错误时,它们返回一个非零错误号。

pthread_attr_setstacksize函数错误码

pthread_attr_setstacksize ()可能会失败,出现以下错误:

  • EINVAL 堆栈大小小于PTHREAD_STACK_MIN(16384)字节。

在某些系统上,如果stacksize不是系统页面大小的倍数,pthread_attr_setstacksize ()可能会失败,错误为 EINVAL

pthread_attr_setstacksize函数其他说明

有关新线程默认堆栈大小的详细信息,请参阅pthread_create (3)
线程的堆栈大小在创建线程时是固定的。只有主线程可以动态增长其堆栈。
pthread_attr_setstack (3)函数允许应用程序设置线程使用的调用者分配的堆栈的大小和位置。

pthread_attr_setstacksize函数使用举例

参见pthread_create (3)

0

评论区