C 中的数字分隔符

oPo*_*olo 6 c gcc

'到目前为止,我已经能够在我的 C 项目中使用数字分隔符。它们都已经用MSVC编译器编译过了,没有任何问题。

我刚刚改为使用 GCC 编译器,它不允许这些数字分隔符,并且当我使用它们时会抛出错误。我认为原因是因为 Visual Studio 对 C 和 C++ 使用相同的编译器,并且在 C++14 中(我相信),'允许使用数字分隔符。

如果是这种情况,GCC 中是否有可用的数字分隔符?当使用二进制的 64 位寄存器值时,这些分隔符确实很有帮助......

pol*_*000 8

它在n2626中定义,因此,当前您可以直接使用此功能--std=c2x(对于 gcc/clang)。


Krz*_*soń -1

您应该使用-std=c++1y gcc/g++选项(并且将文件命名为 C++ 文件,例如 cpp/cxx 扩展名)以'在数字文字中使用。

  • -1。问题是要求在 C 中使用数字分隔符,而不是 C++。此外,C23 将[引入 `'` 作为数字分隔符](https://thephd.dev/c-the-improvements-june-september-virtual-c-meeting)。 (5认同)