msc*_*msc 53
根据GCC参考,C17实际上是集成了DR分辨率的标准的错误修复版本C11.
C17,具有集成DR决议C11标准的一个bug修复版本,很快就会去投票.这个补丁增加了相应的选项
-std=c17,-std=gnu17(新的默认版本,替换-std=gnu11为默认)-std=iso9899:2017.作为标准的错误修复版本,不需要flag_isoc17或任何兼容性警告选项; 但是,有一个新__STDC_VERSION__值,所以添加了新的cpplib语言CLK_GNUC17,CLK_STDC17以支持将新值与新选项一起使用.(如果标准最终在2018年发布并且被称为C18,则可以添加选项别名.但是请注意,这-std=iso9899:199409对应于__STDC_VERSION__值而不是发布日期.)(有一些DR分辨率需要在GCC中实现,但这与新选项无关.)
因此,C17中没有新功能.
未来的发展
C17下一个次要C语言标准修订版,将包括所有已接受的C11缺陷报告,但没有新功能.
更新:
[DR 400],[DR 401],[DR 402],[DR 403], [DR 404],[DR 405],[DR 406],[DR 407], [DR 410],[DR 412],[DR 414],[DR 415], [DR 416],[DR 417],[DR 419],[DR 423], [DR 426],[DR 428],[DR 429],[DR 430], [DR 431],[DR 433],[DR 434],[DR 436], [DR 437],[DR 438],[DR 439],[DR 441], [DR 444],[DR 445],[DR 447],[DR 448], [DR 450],[DR 452],[DR 453],[DR 457], [DR 458],[DR 459],[DR 460],[DR 462], [DR 464],[DR 465],[DR 468],[DR 470], [DR 471],[DR 472],[DR 473],[DR 475], [DR 477],[DR 480],[DR 481],[DR 485], [DR 487],[DR 491]
Nic*_*k S 15
C17是C标准的"bugfix发布"如何M.S Chaudhari被注意到.但是,书Jens Gustedt的作者准备了非常有用的信息"Modern C".
他指出在变化的以下列表C17相比C11:
atomics:初始化(7.17.2,7.31.8),一致性要求(5.1.2.4),栅栏(7.17.3 p11),函数或宏(7.17.1 p6),lockfree取决于类型(7.17.5 p3),比较交换比较内存而不是值(7.17.7.3), atomic_flag(7.17.18).
线程: 虚假故障(7.26.3.5 p2,7.26.3.6 p2,7.26.4.5 p3),同步(7.26.4 p1),线程特定存储(
tss_t)和线程退出(7.26.5 p3,7.26.5.5,7.26.6) )对齐:基本对齐(6.2.8),
_Alignas(6.7.5),aligned_alloc(7.22.3.1)序列点:完整表达式(6.8 p4),完整声明符(6.7..6 p3)
无限循环(6.8.5 p6)
保留标识符(7.1.3)
域或范围的错误(7.12.1), ,
ilogb,.erfclgamma的标示不足
clock(7.27.2.1)的标示不足
realloc为大小0(7.22.3.5)附件F:
FLT_ROUNDS(F.2 p1)附录K: ,
tmpnam_s,snprintf_s,sprintf_s,vsprintf_s,get_s,mbstowcs_s,wcstombs_s,snwprintf_s,swprintf_s,vsnwprintf_s,vswprint_s,.mbsrtowcs_swcsrtombs_s
链接到主页C17.
此外,此内容将更新,Jens您可以按照更新此处更新Jeans Gustedt博客.
P.S: before posting all this stuff I received approval from the author.
| 归档时间: |
|
| 查看次数: |
15767 次 |
| 最近记录: |