草庐IT

thread_posixs

全部标签

linux - "Compiler threading support is not turned on."

通常我可以通过谷歌搜索找到解决方案,但这次不行。我正在使用64位LinuxUbuntu11.04编译32位Windows应用程序。我正在使用i586-mingw32msvc-gcc来编译我的C++文件。测试.cpp:#include生成文件:i586-mingw32msvc-gcc-c-m32-mthreads-otest.otest.cpp错误:boost/asio/detail/socket_types.hpp:#includedoesn'texist.添加到makefile:-DBOOST_WINDOWSError:#warningPleasedefine_WIN32_WINNT

linux - POSIX 中的 S_IRUSR 语义

我正在学习POSIXAPI,我不理解某些名称背后的逻辑。例如S_IRUSR,S_IRUSRS代表什么?我知道R和W用于读写。但是POSIX遵循什么命名约定?就像Win32遵循HungarianNotation命名一样,POSIX的命名遵循什么?对于像POSIX这样的标准,必须有它的文档...... 最佳答案 我不确定它们是否有任何意义,除了它们在sys/stat.h中。,所以S可能代表“stat”。我尝试做一些侦探工作,例如IEEEStd1003.1,2004Editionentryforsys/stat.h是这样说的:首次发布于第

linux - POSIX 消息队列通过内核空间?

我希望在单进程多线程应用程序上使用POSIX消息队列。mqueues将用于在线程之间共享数据。我对它们在Linux内核中的工作方式有些困惑。是否所有消息都经过内核空间,然后在接收时返回到用户空间?a.k.a.从用户空间线程我执行mq_send并且消息最终进入内核空间,然后在接收时它是另一个系统调用以从内核空间获取消息。如果是这样,对于高使用率的消息队列来说,这不是非常低效吗? 最佳答案 是的,它们总是通过内核(通常用于进程间通信)。如果你只是想要线程间通信,你可以通过。一个简单的工作队列(使用普通的旧互斥体)。如果您想要具有更多功能

posix 和 linux 特定功能的 C++ 包装器

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion您是否知道将posix和linux函数和结构(例如套接字或文件描述符)包装到C++类中的任何好的库?例如,我正在考虑一个基本的FileDescriptor类和一些继承类(unix套接字等),它们具有写入、读取甚至一些系统调用(sendfile、splice)等方法——所有这些都抛出异常而不是设置errno。或者一些共享内存类等。我似乎找不到类似的东西,现在我考虑自己编

C++ boost::thread,如何在类中启动线程

如何在一个对象中启动一个线程?例如,classABC{public:voidStart();doublex;boost::threadm_thread;};ABCabc;...dosomethinghere......howcanIstartthethreadwithStart()function?,......e.g.,abc.m_thread=boost::thread(&abc.Start());...这样以后我就可以做类似的事情abc.thread.interrupt();abc.thread.join();谢谢。 最佳答案

regex - Perl 使用哪种 POSIX 风格的正则表达式?

具体来说,我正在使用Linux命令:$find.-regextypeposix-extended-regex''...我只想确保我使用的POSIX类型是Perl使用的类型,因为这是迄今为止我最熟悉的类型。 最佳答案 Perl已经为正则表达式定义了自己的标准。例如,有类似PCRE的系统。,代表Perl兼容正则表达式。 关于regex-Perl使用哪种POSIX风格的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stacko

c - POSIX 系统上的 `fileno(stdout) != 1` 可能吗?

假设STDOUT_FILENO,stdout文件描述符可以不同于1(stdoutneednotbeamodifiablelvalue)?例如,可以freopen("/dev/null","w",stdout)更改fileno(stdout)结果? 最佳答案 是的。测试程序:#includeintmain(){fclose(stdin);freopen("stdout.txt","w+",stdout);fprintf(stderr,"%d\n",fileno(stdout));return0;}这会在我的机器(OSX10.9.4)上

c++ - 错误 : ‘struct sigevent’ has no member named ‘sigev_notify_thread_id’

以下“玩具”代码表示我在使用POSIXtimers的较大代码库中遇到的问题.#include#include#include#includeusingnamespacestd;intmain(){structsigeventsevp;longthreadId=5;sevp.sigev_notify=SIGEV_THREAD_ID;sevp.sigev_notify_thread_id=threadId;return0;}当我尝试在Linux机器上使用g++编译它时,出现错误:error:‘structsigevent’hasnomembernamed‘sigev_notify_thre

linux - 在 linux 中使用 posix 消息队列的单个发送者和多个接收者进程

有没有什么方法可以让一个写入进程在使用mq_send()将消息发送到消息队列后,多个读取进程可以使用mq_receive()读取消息。我预计1次写入mq和1次从mq读取,消息丢失。所以我只想知道我的理解是否有误。有什么方法可以让单个写入器和多个读取器进程可以使用posix消息队列进行通信。 最佳答案 是的,你的理解是正确的。您无法使用POSIX消息队列可靠地执行此操作。如果你想将相同的消息可靠地传递给不同的线程/进程,你应该为每个读者使用不同的队列。如果切换到SYSV消息队列,则可以执行此操作。Msgsnd()并且msgrcv()可

Linux POSIX 合规列表

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正在为指定的linux内核寻找POSIX实现函数的列表交叉引用矩阵。例如,我想使用linux内核2.6.0,但我想查看此内核的POSIX实现函数的完整列表。我在哪里可以找到这些信息?