在yocto项目中配置好eclipse的开发环境,如何配置eclipse开发出多线程程序。
普通的eclipse程序只需要在Properties->C/C++Build->Settings->Tool Settings->GCC C Linker ->Libraries中添加-pthread之后就可以编译程序了。
1.Properties->Autotools->Configure Settings -> configure ->Command 在--sysroot之前添加 -pthread
2.Properties->Autotools->Configure Settings -> autogen ->Command 在--sysroot之前添加 -pthread
现在就可以交叉编译yocto eclipse 的多线程程序了。
然后通过nfs 发送到板子上,运行。能够正常运行,但是可能是板子上的核数太少了,导致线程运行起来不那么直观。
测试程序:
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
void* fun1(void*arg)
{
int i=0;
for( i=0; i<10; ++i)
{
printf(" thread 1 :%d \n", i);
usleep(1000*rand()%10);
}
return (void*)0;
}
void* fun2(void*arg)
{
int i=0;
for( i=0; i<10; ++i)
{
printf(" thread 2 :%d \n", i);
usleep(1000*rand()%10);
}
return (void*)0;
}
int main()
{
pthread_t test ;
pthread_t test2 ;
pthread_create(&test, NULL, &fun1, NULL);
pthread_create(&test2, NULL, &fun2, NULL);
printf("xxxxxxxxxxxxxxxxxxxxxxxx\n");
usleep( 1000*1000) ;
return 0;
}