使用Win32 執行緒模型的MinGW-w64 和std::thread
儘管使用Win32 執行緒模型配置MinGW-w64,您可能會遇到使用C 11 執行緒作為std::thread 支援的問題似乎
最初,我們假設選擇Win32 執行緒模型只會影響GCC 的內部操作,而不會阻止執行緒的使用。然而,這似乎是不正確的。
正如社群成員所指出的,MinGW-w64 缺乏原生執行緒支持,而是依賴 gthreads 或 pthreads 等外部函式庫來實作執行緒。這些函式庫通常在 glibc 中找到,而 MinGW-w64 不包含該函式庫。
為了解決此限制,MinGW-w64 提供了一個名為 mingw-std-threads 的第三方函式庫。然而,這並不屬於所要求的「開箱即用」支援。
因此,截至 2016 年 5 月,MinGW-w64 在依賴 C 11 的程式碼中本身並不支援 std::thread與 Win32 執行緒模型一起安裝時的執行緒庫。為了解決這個問題,可以考慮安裝 mingw-std-threads 或在 MinGW-w64 安裝過程中選擇「pthread」模型。
以上是具有 Win32 線程模型的 MinGW-w64 是否支援 `std::thread`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!