将函数名作为字符指针传递给C中创建的pthread_

将函数名作为字符指针传递给C中创建的pthread_,c,linux,pthreads,C,Linux,Pthreads,我想使用pthread_create函数创建pthread,并将函数名作为 char *function_name="get_time"; int rc = pthread_create(&thread_arr[threadNum], NULL, *function_name, (void *) output_cur_node->data); 还尝试使用(void*)和function\u name 这似乎没有进入函数get\u time() 相反,当我使用下面的 in

我想使用pthread_create函数创建pthread,并将函数名作为

char *function_name="get_time";

int rc = pthread_create(&thread_arr[threadNum], NULL,
    *function_name, (void *) output_cur_node->data);
还尝试使用
(void*)和function\u name

这似乎没有进入函数
get\u time()

相反,当我使用下面的

int rc = pthread_create(&thread_arr[threadNum], NULL,
    get_time, (void *) output_cur_node->data);
它很好用


请告知此处的错误。

您需要传递函数的地址,但您尝试传递字符串的地址

您需要传递函数的地址,但您尝试传递字符串的地址

您需要传递函数的地址,但您尝试传递字符串的地址

您需要传递函数的地址,但是您正在尝试传递字符串的地址,pthread_create的原型如下所示:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
第三个参数必须是类型为的函数指针

无效*(*开始例行程序)(无效*)

所以,当你试图通过这样做来通过辩论时

char *function_name="get_time";
(void*)&function_name

有效地表示与上述类型不匹配的void*类型。因此会报告编译时错误。

pthread_create的原型如下:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
第三个参数必须是类型为的函数指针

无效*(*开始例行程序)(无效*)

所以,当你试图通过这样做来通过辩论时

char *function_name="get_time";
(void*)&function_name

有效地表示与上述类型不匹配的void*类型。因此会报告编译时错误。

pthread_create的原型如下:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
第三个参数必须是类型为的函数指针

无效*(*开始例行程序)(无效*)

所以,当你试图通过这样做来通过辩论时

char *function_name="get_time";
(void*)&function_name

有效地表示与上述类型不匹配的void*类型。因此会报告编译时错误。

pthread_create的原型如下:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine) (void *), void *arg);
第三个参数必须是类型为的函数指针

无效*(*开始例行程序)(无效*)

所以,当你试图通过这样做来通过辩论时

char *function_name="get_time";
(void*)&function_name

有效地表示与上述类型不匹配的void*类型。因此,将报告编译时错误。

如何解决此问题?基本上,我事先不知道函数名。我的代码的其余部分读取xml并从中以字符串的形式获取函数名。您需要维护函数名到地址的映射。有关详细信息,请参见我如何解决此问题?基本上,我事先不知道函数名。我的代码的其余部分读取xml并从中以字符串的形式获取函数名。您需要维护函数名到地址的映射。有关详细信息,请参见我如何解决此问题?基本上,我事先不知道函数名。我的代码的其余部分读取xml并从中以字符串的形式获取函数名。您需要维护函数名到地址的映射。有关详细信息,请参见我如何解决此问题?基本上,我事先不知道函数名。我的代码的其余部分读取xml并从中以字符串的形式获取函数名。您需要维护函数名到地址的映射。有关详细信息,请参阅