首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC,Raspbian上的线程支持的C头?

GCC,Raspbian上的线程支持的C头?
EN

Stack Overflow用户
提问于 2016-02-13 05:27:08
回答 3查看 395关注 0票数 0

我想为我的Raspberry编译一个程序,它使用thrd_sleep()函数,就像在c11标准库中的头文件中定义的那样。为了实现跨平台兼容性,我想使用C11库。

我以前做过的一个谷歌搜索让我相信更新gcc应该更新可用的头,因为它没有提到任何其他命令。由于各种原因,我没有更改包源。我已经安装了最新版本的gcc: gcc-4,6,16-4.7,and -4.8。我试过所有的命令:

代码语言:javascript
复制
gcc main.c

gcc-4.6 main.c

gcc-4.7 main.c

gcc-4.8 main.c

每次我都会犯同样的错误:

代码语言:javascript
复制
main.c:2:21: fatal error: threads.h: No such file or directory

现在很明显,我需要安装其他的东西。我的其他搜索没有得出任何结论。

  1. 包含C11头的包是什么
  2. 我是否必须链接任何库才能包含C11线程支持特性?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-16 09:46:35

C11线程尚未由GCC,看看这个实现。不幸的是,C11线程仍然是“新的”,所以现在几乎没有任何编译器支持它们。将它们用于跨平台开发并不是一个好主意(目前)。

POSIX线程是目前唯一的可移植线程库。

票数 0
EN

Stack Overflow用户

发布于 2016-02-13 05:38:55

对于我在Raspberry上做的一个C++项目,我使用的是p线程。这是我的命令:

代码语言:javascript
复制
g++ -o video7 -lpthread -lrt video7.cpp stackstring.cpp playvideo.cpp dirlist.cpp cpuinfo.cpp faststring.cpp liststring.cpp remoteupdate.cpp kbhit.cpp randomnumber.cpp blowfish.cpp base85.cpp

我包括了

代码语言:javascript
复制
#include <pthread.h>

我创建了这样一个线程。

代码语言:javascript
复制
pthread_t updateThread;
char *param = strdup("Sample");
pthread_create(&updateThread,NULL, UpdateThreadProc, param);

void *UpdateThreadProc(void *parameters)
{
   // Do work.
   pthread_exit(NULL);
}
票数 0
EN

Stack Overflow用户

发布于 2016-02-13 07:50:35

线程函数通常不是编译器发行版的一部分,而是C库的一部分,因此您必须找到一个实现C11线程接口的函数。在我只知道实现此接口的http://www.musl-libc.org/的开源库之外。有一些Linux发行版使用这个C库作为它们的主库,例如阿尔卑斯。在其他发行版上,您可能会找到一个可以应用的包,或者您可以自己编译musl。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35376452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档