【发布时间】:2019-08-05 23:03:08
【问题描述】:
我正在尝试理解 glibc 中的一些代码。为什么要使用这个奇怪的 for 循环?我猜出于某种原因编译器优化?
237 for (ar_ptr = &main_arena;; )
238 {
239 (void) mutex_lock (&ar_ptr->mutex);
240 ar_ptr = ar_ptr->next;
241 if (ar_ptr == &main_arena)
242 break;
243 }
【问题讨论】:
-
写
do {} while()的方式看起来很奇怪 -
这似乎是Wolfram Gloger's代码中的常用成语。
标签: c memory heap-memory