2012-01-05 23 views
4

我知道C11標準只有一個月的歷史,但_Atomic的草稿要陳舊得多。我也知道GCC編譯器在標準正式批准之前就認真地實現了這些功能。但即使there的支持尚未準備好黃金時段。但是,我也會對其他編譯器感興趣:Visual Studio或嵌入式編譯器cq。環境。有沒有人編譯器提供者提供這種支持?任何鏈接都歡迎。可用的編譯器是否提供了C11'_Atomic'關鍵字及其相關頭文件'stdatomic.h'的實現?

我在問,因爲我在汽車嵌入式開發領域工作,而且我在想自己是否應該朝這個方向發展。到目前爲止,大多數環境(如AutoSAR或Vector OS支持)都提供了自行開發的解決方案,新標準現在提供了特定的語法和語義,只要編譯器作者不會朝C11方向發展,就會依然是唯一真正的解決方案

+0

只有Linux版本:http://stackoverflow.com/questions/24557728/does-any-c-library-implement-c11-threads-for-gnu-linux – 2015-06-16 21:56:12

回答

3

我認爲支持關鍵字本身需要一些時間,我還沒有看到什麼。關於圖書館支持(支持功能)的問題,已經有更多。特別是我知道gcc爲大多數平臺的整數類型實現原子操作__sync_...的通用函數。

我目前正在爲C11編寫P99的合規層。線程部分(在POSIX線程之上)已經存在,原子(使用gcc原語)即將完成。這將是一個通用的實現,支持通過宏實現所有基類型的原子,這些宏實現標準中預見的功能type genericatomic_...

它幾乎就在那裏,您可以在P99網站上查看第一個版本,但我仍然需要一些時間來完成它。

相關問題