Linux 上 C 的程序遇到个异常退出问题,局部变量大小有限制??

查看 47|回复 3
作者:SS945   
#include
#include
#include [u]
#include
#include
#include
#include
#include
#include
#include
#include
static void *client_check(void *arg)
{
printf("###### %s %d ######\n", __FUNCTION__, __LINE__);
#define SZ_BUF 32768 /* 32*1024 */
char post_data[SZ_BUF] = {0};
char enc_msg[SZ_BUF + 16] = {0};
unsigned char cipher_data[SZ_BUF] = {0};
unsigned char cipher_str[SZ_BUF] = {0};
unsigned char test[SZ_BUF] = {0};
strcpy((char *)cipher_data, "AAAAAAAAAAAAAAAAA");
strcpy((char *)cipher_str, "CCCCCCCCCCCCCCC");
strcpy((char *)enc_msg, "DDDDDDDDDDDDDDDD");
strcpy((char *)post_data, "EEEEEEEEEEEEEEE");
strcpy((char *)test, "FFFFFFFFFFFFFFFFF");
printf("###### %s %d ######\n", __FUNCTION__, __LINE__);
return 0;
}
int main(void)
{
pthread_t tidp;
printf("\n######## start #####\n");
test_service(); //工作正常
if (pthread_create(&tidp, NULL, client_check, NULL) != 0) //异常退出
{
LX_NGX_ERR("pthread_create error!\n");
}
printf("AAAAAAA hello world!!!\n");
return 0;
}
上面的程序如果正常在 main 里面跑就是好的,但一放到 pthread_create 里面用线程跑就不行,放在 x86 上就可以,但放在我的板子里板就不行,这是什么鬼????
rickc137   
可能超线程资源限制了吧,用 gdb 能调试吗
SS945
OP
  
@rickc137 目标板上没有 gdb ,头痛。
sagaxu   
获取一下线程栈的大小看看有没有差别
您需要登录后才可以回帖 登录 | 立即注册

返回顶部