首頁  >  文章  >  後端開發  >  具有 Win32 線程模型的 MinGW-w64 是否支援開箱即用的'std::thread”?

具有 Win32 線程模型的 MinGW-w64 是否支援開箱即用的'std::thread”?

Linda Hamilton
Linda Hamilton原創
2024-11-04 09:36:02525瀏覽

Does MinGW-w64 with Win32 Threading Model Support `std::thread` Out of the Box?

MinGW-w64 支援帶有 Win32 執行緒的 std::thread 嗎?

您最近使用 Win32 執行緒模型配置了 MinGW-w64,預計增強的效能。但是,您在程式碼中使用 std::thread 的嘗試已被證明是徒勞無功的。讓我們澄清一下情況:

根據用戶 rubenvb 的說法,無論安裝過程中選擇哪種線程模型,std::thread 支援都應該可用。然而,您的經驗表明情況並非如此。

為了解決困惑,請考慮以下可能性:

  • 可能的錯誤假設:可以想像,您可能誤解了rubenvb 的意圖完全,導致您期望不存在的支持。
  • 缺乏直覺的支援: std::thread 支援可能以不明顯的方式提供。
  • 對Win32 執行緒的有限支援:儘管有先前的假設,但具有Win32 執行緒模型的MinGW-w64 可能確實缺乏對std::thread 的開箱即用的本機支持。

需要強調的是,像 mingw-std-threads 這樣的第三方函式庫被排除在本次查詢之外,因為它們不符合「開箱即用」標準。因此,讓我們專注於一個基本問題:

設定 Win32 內部執行緒模型時,MinGW-w64 是否原生支援使用 std::thread 的程式碼?

根據現有信息,答案是:

要在 Win32 線程模型下使用 MinGW-w64 啟用 std::thread,請考慮安裝 mingw-std-threads 標頭。這種差異源於 GCC 缺乏本機執行緒支持,它依賴 glibc 等外部函式庫來實作執行緒。由於 MinGW-w64 不包含 glibc,因此您需要使用替代標頭來使 std::thread 發揮作用。

以上是具有 Win32 線程模型的 MinGW-w64 是否支援開箱即用的'std::thread”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn