我正在尝试将某些东西移植到Linux。
我的原始代码(用于RTOS)如下所示:

int stackSize = 4*1024;
void* stack = malloc(stackSize);
int thread = create_thread(stack, FuncToRun)

后来,堆栈和stackSize被垃圾收集器用来获取一些线程统计信息。

现在,如何将以上代码转换为Linux?

最佳答案

您应该使用Pthread:

int stackSize = 4*1024;

pthread_attr_t atrib_thread;
pthread_attr_init(&atrib_thread);
pthread_attr_setstacksize(&atrib_thread,stackSize);

pthread_t my_thread;
pthread_create(&my_thread,&atrib_thread,FuncToRun,NULL);

http://www.manpagez.com/man/3/pthread_attr/

http://www.manpagez.com/man/3/pthread_create/

关于c++ - Linux-获取线程的堆栈内存的开始和结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33121057/

10-08 23:40