QNX支持std::thread吗
时间: 2023-09-06 18:11:54 浏览: 43
是的,QNX操作系统支持C++11标准库,因此也支持std::thread。您可以在QNX平台上使用标准C++线程库来实现多线程编程。需要注意的是,您需要在编译时启用C++11支持。您可以使用以下命令来编译支持C++11的代码:
```
qcc -Vgcc_ntoarmv7le -std=c++11 source.cpp -o output
```
其中,-std=c++11参数启用了C++11支持。
相关问题
车载QNX系统跑以下代码,为什么打印是-1 std::vector<uint8_t>* renderArray= new std::vector<uint8_t>(); printf("renderArray->max_size(): %d\n",renderArray->max_size());
在QNX中,`std::vector`的`max_size()`函数返回的是该类型对象最多可以包含的元素个数,而不是最大可用内存大小。这个返回值取决于机器的架构,类型的大小以及可用内存的大小等因素。在你的代码中,你没有给`std::vector`指定初始容量,因此其`max_size()`函数返回的是该类型对象最多可以包含的元素个数。由于你在QNX中运行该代码,可能是因为QNX的限制,导致你的`std::vector`对象的最大容量为0,因此当你执行`renderArray->max_size()`时,它返回的是0,而不是你期望的值。因此,当你执行`printf`语句时,它输出的是-1,这是`printf`函数使用%d格式标识符输出0的结果。
qnx中sh: ./ttt.sh: cannot execute - Permission denied如何解决
这个错误提示是因为没有执行脚本文件的权限。要解决这个问题,你可以尝试以下两种方法:
1. 给脚本文件添加执行权限
你可以使用 chmod 命令给脚本文件添加执行权限,例如:
```
chmod +x ttt.sh
```
然后再执行脚本文件即可。
2. 使用 sh 命令执行脚本文件
如果你没有给脚本文件添加执行权限,也可以使用 sh 命令来执行脚本文件,例如:
```
sh ttt.sh
```
这样就可以执行脚本文件了。