c17相关内容

为什么将“超出范围的整数转换为整数"会导致 IB,但将“超出范围的浮点数转换为整数"会导致 UB?

以下问题: 类型转换:double to char:多个问题将无符号值赋给有符号字符 上下文:ISO/IEC 9899:202x (E) 工作草案 - 2020 年 2 月 5 日 C17..C2x N2479(已添加重点): J.3 实现定义的行为,J.3.5 整数 ——当值不能在该类型的对象中表示时,将整数转换为有符号整数类型的结果或引发的信号 (6.3.1.3). ..
发布时间:2022-01-13 08:19:43 其他开发

如何以一种可移植的方式从指向该结构的成员的指针中计算出指向该结构的开头的指针?

假设 T1 和 T2 是两种类型,并给出以下结构: struct{T1 x;T2年;} 进一步,假设我们有一个 struct s 类型的对象: struct s a; 由此,我们可以计算出指向对象第二个struct成员的指针: T2 * q =& s.y; 我正在寻找的是一种从 q 计算类型为 struct s * 的指针 p 的可移植方式,使得p 指向对象 a . ..
发布时间:2021-04-21 19:43:04 其他开发

为什么将“超出范围整数转换为整数"会导致IB,而将“超出范围浮点转换为整数"会导致UB?

有关以下问题的后续问题 : 类型转换:双精度字符:多个问题 将未签名的值分配给已签名的字符 上下文:ISO/IEC 9899:202x(E)工作草案-2020年2月5日C17..C2x N2479(添加了重点): J.3 实现定义的行为,J.3.5整数 -当无法在该类型的对象(6.3.1.3)中表示该值时,将整数转换为带符号的整数类型的结果或发出的信号. 6.3.1. ..
发布时间:2021-04-21 19:40:56 其他开发

C17如何让我初始化原子?

C17标准从stdatomic.h弃用ATOMIC_VAR_INIT,这意味着它仍然支持它,但宁愿不使用它.在C17中初始化原子的正确,不建议弃用的正确方法是什么? 与非原子类型相同: atomic_int foo = 42; 还有什么新东西? 解决方案 C17可以使用通常的显式初始化来初始化原子: atomic_int n = 42; C17确实从7.17.2. ..
发布时间:2020-08-01 18:53:34 其他开发

什么是C17,并且对该语言进行了哪些更改?

当我查看有关GCC 8的新闻时,我 是像C11这样的新ISO版本,还是GCC团队在其编译器中进行某些更正的代号? 解决方案 根据 C17 ,具有DR [缺陷报告]分辨率的C11标准的错误修复版本 集成,将很快进行投票.该补丁添加了对应的 选项-std=c17,-std=gnu17(新的默认版本,已替换 -std=gnu11作为默认值),-std=iso9899:2017.作为错误修复版本 ..
发布时间:2020-08-01 18:53:29 其他开发

snprintf:是否有任何C标准提案/计划可以更改此功能的描述?

对于C语言标准是否有任何提案(或计划)来更改snprintf函数的描述(的最后一句),以使(或者我如何(使用哪些链接)自己确定是否有任何此类提案? 是否有任何搜索引擎可以显示有关snprintf功能的所有当前活动的建议? 我目前知道的唯一链接就是这个链接- http://www.open-std .org/jtc1/sc22/wg14/-这是我第一次对任何标准的提案都怀有特殊的想法) 解 ..
发布时间:2020-04-27 05:05:07 其他开发