我有一些代码可以创建一堆线程,并为它们分配一个函数。
file a.c:
#include "b.h"
int main()
{
pthread_t tids[n];
void * (*func) (void*);
func = function_thread; \\this is the process from another function
//more code
for(int i = 0; i < n; i++){
pthread_create(&tids[i], NULL, func, (void*)i));
}
}
file b.c:
void * function_thread(void * i)
{
//do stuff
pthread_exit(NULL);
}
我需要做些什么特别的事情来完成这项工作吗?
我问,因为现在当我尝试制作时,我会得到类似下面的东西。我是在正确的轨道上,还是完全由其他东西引起的这个错误?
/tmp/ccAiAxMg.o: In function `main':
a.c:(.text+0x4f8): undefined reference to `function_thread'
我知道b.h文件链接得很好,因为我在其中使用了结构而没有编译器的任何抱怨。