Ism*_* R. -22 c++ posix fork c++11
考虑到
C++11§1.10/ 24(在[intro.multithread]中)"实现可以假设任何线程最终将执行以下操作之一:
- 终止,
- 调用库I/O函数,
- 访问或修改易失性对象,或
- 执行同步操作或原子操作.
[注意:这是为了允许编译器转换,例如删除空循环,即使无法证明终止也是如此. - 尾注]
...是允许编译器优化掉以下循环的编译器:
int main(int argc, char* argv[]) {
while ( true )
fork();
}
Run Code Online (Sandbox Code Playgroud)
?
(有一些早期的讨论在(优化掉一个"while(1);"在C++ 0x中),但它似乎没有回答fork循环中调用的情况.)
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |