为了账号安全,请及时绑定邮箱和手机立即绑定

为什么以下程序不使用链接库时是好用的?

为什么以下程序不使用链接库时是好用的?

慕桂英546537 2022-06-17 11:11:56
建了个链接库,声明了void (*function)(int *a);然后function=dlsym(xlib,"function");然后怎么在pthread_create中调用这个function函数?填了好几种方式都出现段错误还有void (*function)(int *);写成void* function(int *),function=dlsym(xlib,"function");这句就会出错,这两个有什么区别?我想在pthread_create中调用function,写成function,(void *)function都不行,出现段错误。
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

原型定义
int pthread_create(pthread_t *restrict tidp,
const pthread_attr_t *restrict attr,
void *(*start_rtn)(void),
void *restrict arg);
第一个参数为指向线程标识符的指针。
第二个参数用来设置线程属性。
第三个参数是线程运行函数的起始地址。
最后一个参数是运行函数的参数。
这样子懂了吧?


查看完整回答
反对 回复 2022-06-20
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

void* (function)(argument*) 是一个返回值为void型的函数指针
void* function(argument*)是一个返回值为void 的函数
概念不同

查看完整回答
反对 回复 2022-06-20
  • 2 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信