Были проблемы с много вопросов о потоках C11 и C11, но я не вижу окончательного ответа в любом месте:
. Любая библиотека C реализует интерфейс потоков C11, который можно использовать в GNU/Linux-подобном?, например, предоставить "необязательный" <threads.h>
и библиотека поддержки потоков, например thrd_create()
, стандарт C11 рядом с p. 376.
В идеале я хотел бы найти библиотеку, которая является общепринятой, открытой или бесплатной, для общей/общей/мульти-архитектуры (например, GNU/Linux, x86_64 или portable-ish).
Несколько полезных и релевантных ссылок SO:
- этот и этот на
glibc
; - этот, говорящий о стандарте;
- этот о
clang
; - этот о C11 вообще и этот о Windows и других платформах;
- гораздо больше о потоке С++ 11, но меня интересует только C11.
Некоторые параметры, не связанные с стартом для библиотек:
-
glibc
библиотека не; с 2012 года существует ошибка открытия; было предложение GSoC, но кажется не принято; - Проект LLVM/Clang не имеет библиотеки C;
-
musl библиотека не;- теперь делает! См. Править ниже и answer. - Newlib библиотека поддерживает потоки (docs), но не используя
pthread
и нити C11; - uClibc не:
- это сравнение, что является сомнительным (например, я не вижу никаких доказательств в мультовых источниках для поддержки потоковой поддержки потоков C11);
- Некоторые сообщения о BSD,
- Pelles, который выглядит закрытым и только для Windows.
Я заинтересован не в потоках POSIX (много прекрасных опций), Windows, IDE и С++ 11 (я знаю, что GNU libstdc++
и LLVM/Clang libc++
предоставляют С++ 11 std::thread
, который использует -pthread
)
Спасибо!
(повторно) Изменить: вопрос повторно открыт, поэтому перенесенный контент для ответа для очистки.