c11

    2熱度

    1回答

    我在網上找到的C和POSIX引用沒有指定C99的fesetround()的線程安全性。即使GNU文檔也沒有[1]。狀態是每個線程還是每個進程? [1] https://www.gnu.org/software/hello/manual/libc.html#Rounding

    4熱度

    2回答

    假設我想編寫一個C程序(C99或C2011),我希望它是完全可移植的,而不是綁定到特定的體系結構。 看來,我會那麼想從舊的整數類型(int,long,short)和朋友一刀兩斷,並使用只有int8_t,uint8_t,int32_t等(也許使用的least和以及fast版本)。 然後是main的返回類型是什麼?或必須我們要與int?標準要求是否爲int? GCC-4.2讓我寫 #include <

    0熱度

    1回答

    我只是想知道是否有一個插件允許在Xcode 4.6中支持C11。

    5熱度

    1回答

    結構成員,我有一些麻煩,使用C11和結構-Wpadded。 我已經讀過Structure member alignment with _Alignas,我看着在鐺文檔,發現它現在支持。 而且,我使用,我從後備箱內置近日鐺的一個很新的版本。 $ clang --version clang version 3.3 (trunk 175473) Target: x86_64-unknown-linu

    0熱度

    1回答

    void main(void){ for(int i;;); for(int i;;); } 這是有效的C代碼嗎?我的範圍是什麼?

    2熱度

    2回答

    我在Windows上創建Visual Studio 2012 Express中的跨平臺軟件。由於顯而易見的原因,我無法使用.NET的System::Threading::Thread。我希望能夠使用C11的新線程特性(threads.h,而不是pthread.h),而使用VS2012是因爲我創建了一個基於.NET窗體的抽象框架。我開始相信Windows是不可能的。有人有一個想法。如果這些是我唯一的

    26熱度

    4回答

    我目前使用gcc 4.6.3。我的理解是,gcc默認使用gnu89標準,我想啓用最新的C標準C11。我想: [[email protected] test ]$ gcc -std=c11 -o test test.c cc1: error: unrecognised command line option ‘-std=c11’ 我換成c11與gnu11,我也得到了同樣的錯誤。爲gcc啓用最新

    3熱度

    1回答

    是否允許下列代碼? _Atomic(unsigned int) a = 1; if (a == 0) { } 的C11規範(n1570)表示在6.3.2.1p2: 如果左值具有原子類型,該值具有左值的類型的非原子版本。 所以這似乎是說沒關係。

    1熱度

    1回答

    ISO/IEC 9899:2011 §5.2.4.2.2 ¶10(P48)表示: 次正規數的存在或不存在的特徵在於FLT_HAS_SUBNORM,DBL_HAS_SUBNORM, 和LDBL_HAS_SUBNORM的 實現定義的值: -1不確定 0不存在(類型不支持低於正常數字) 1目前(類型確實支持次正常數字) 什麼!所以在一些平臺上我不能寫double d = 33.3?或者編譯器會自動將其轉

    10熱度

    2回答

    從§6.2.7.5(第66頁): 例子中給出的下面的兩個文件範圍的聲明: int f(int (*)(), double (*)[3]); int f(int (*)(char *), double (*)[]); 所得複合型爲函數爲: int f(int (*)(char *), double (*)[3]); 以上在這個例子中,他們解釋說複合類型是一種類型,兼容兩種不同的類型。我會直