/ 中存储网

在Ubuntu环境下用Eclipse开发ARM多线程程序的方法及命令

2015-07-22 16:11:49 来源:中存储网

第1步:安装 Eclipse 开发环境

第2步:配置Eclipse 的ARM开发环境

第3步:新建一个过程,配置好环境

敲入接下来的代码

#include <pthread.h>
#include <stdio.h>
#include <stddef.h>
#include <unistd.h>
#include <fcntl.h>

void *create(void *arg)
{
while(1)
{
printf("thread is Running ..... ");
sleep(5);
}
}
void *ReaderThread(void *arg)
{
while(1)
{
sleep(4);
printf("Read ID=rn");
}
}
int main(int argc, char *argv[])
{
pthread_t tidp;
int rc1,rc2;
rc1=pthread_create(&tidp,NULL,create,NULL);
if(rc1!=0)
{
printf("pthread_create is not created ... rn");
return -1;
}
printf("prthread_create is created... rn");
rc2=pthread_create(&tidp,NULL,ReaderThread,NULL);
if(rc2!=0)
{
printf("ReaderThread is not created ... rn");
return -1;
}
printf("ReaderThread is created... rn");
while(1)
{
printf("System is Runing...rn");
sleep(1);
}
return 0;
}

系统编译出错!

提示:undefined reference to `pthread_create'

原因是arm-linux-g++ 在默认编译情况下,不会加载线程库。

因此需要设置Eclipse

注意: 需要设置  ARM 和 Debug(X86)环境。

设置好后,再次编译看看

编译成功,没有错误!

下载到开发板,运行看看效果!

切换编译模式为DEBUG(x86)看看效果

左边是6410开发板上的程序效果,右边是X86的PC上效果!

C/C++的跨平台编程是不是很简单呢!