标准::once_flag是否有填充物?
Is there a polyfill for std::once_flag?
在C++程序中,我使用的是使用std::once_flag
的库,但似乎编译器(arm-none-eabi-g++
)不支持这一点。这个std::once_flag
有填充物吗?
我在代码审查上看到了这个:https://codereview.stackexchange.com/questions/117468/stdonce-flag-and-stdcall-once-implementation 但我想知道是否有官方的填充物。
polyfill 是否支持多线程并不重要,因为我的目标设备无论如何都不支持它。
没有"官方"填充物这样的东西。该标准是该语言的官方定义,由编译器来实现。如果您不能使用 GCC 4.8(第一个实现"完整"C++11 的 GCC),那么您将不得不尽可能地使用您自己或他人编写的代码来复制其行为。
(您的问题可能不是源于GCC版本,而是源于特定的端口/软件包/平台;但是,由于您没有告诉我们工具链的名称/版本,构建命令或您遇到的实际问题,我只是假设这里不是这种情况。
所以,你找到的代码就是你得到的。但是,您应该记住,您的程序将具有未定义的行为。理想情况下,您将升级编译器或切换回与 C++03 兼容的编码。就个人而言,我建议在完全使用C++11之前回退到Boost.Thread。
或者,你知道,干脆不要使用std::once_flag
,一个用于std::call_once
的辅助结构,这都是关于多线程的......你声称你的设备不支持。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- 通过for循环使用用户输入填充列表
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 如何正确填充在堆上分配的二维数组?
- 将数字转换为填充字符串
- 有没有办法在一行中填充矢量图
- 用C++中的数字和条件填充向量
- 用真值填充矢量
- 使用结构成员指针在C++中填充结构
- 流填充字符的默认定位
- 使用不同算法的 PKCS1v15 填充进行加密 ++ 签名
- C++:使用缓冲区中的数据填充结构
- 如何将零填充的多维数组传递给 C++ 中的函数?
- Cryptopp:获取密码输入的填充字符串
- 填充上编译器生成的复制构造函数之间的不一致
- RcppEigen 模板化函数,用于填充单位法线
- 我想生成许多矩阵并用随机数填充它