gpt4 book ai didi

pthreads - vxWorks pthreads

转载 作者:行者123 更新时间:2023-12-02 22:08:44 29 4
gpt4 key购买 nike

到目前为止我读过的所有文档似乎都表明我的 vxWorks (6.8) 版本中存在 posix 线程支持,但是一个简单的测试应用程序无法按预期执行。来源如下:

tTest.h

#include <pthread.h>

class tTest
{
public:
tTest();
virtual ~tTest();
private:
pthread_t tid;
static void* Worker(void* args);
};

tTest.cpp

#include <stdio.h>
#include "tTest.h"


tTest::tTest()
{
printf("Starting up...\n");
if(pthread_create(&tid, NULL, &tTest::Worker, NULL))
{
printf("Failed to create thread.\n");
}

}

tTest::~tTest()
{
if(pthread_join(tid,NULL))
{
printf("Failed to join thread.\n");
}
printf("Shutting down...\n");
}

void* tTest::Worker(void* args)
{
printf("ThreadID: %d\n", (int)pthread_self());
return NULL;
}

vxWorks 内核模块的入口点很简单:

#include "tTest.h"

int tTest_main()
{
tTest m;
return 0;
}

启动/关闭消息很好,但工作线程却不好。这在 Linux 中工作得很好并且符合预期。我错过了什么?

最佳答案

假设您使用 WindRiver Workbench 来开发此应用程序,您将需要使用内核配置并启用 POSIX 线程包。

这可以通过在内核配置中搜索“pthreads”来完成

关于pthreads - vxWorks pthreads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7760846/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com