此标签用于有关国际标准ISO 9899:1999,又名“C99”的问题,包括技术勘误,以及有关用C99编写的代码的问题(与K&R C,C89或更高版本C标准修订版本相反,如2011年修订版C11) 。
适用于 Windows 的 MinGW 编译器,使用 GCC、C99 与 GNU99
我正在使用适用于 Windows 的 MinGW 编译器。我正在用 C 语言编写一些程序。我读到的大部分文章似乎都已经过时了...上次我读到 C99 在 GCC 中不完整,这仍然是真的吗...
C99 发布已经十多年了。然而,到目前为止,支持 C99 所有新功能的编译器(如果有的话)也很少。为什么? 顺便说一句:真的有编译器可以...
在 C 中,当且仅当 int64_t 可用时才定义 PRId64 是真的吗?
我想在 C 中可移植地使用 64 位有符号类型。但是 - 我知道 int64_t 不能保证被定义。我可以在我的构建系统生成中使用一些预处理器魔法(例如 CMake 的
`sizeof ((struct X *)0)->field` -- 特别是在 C1999 中的一致性吗?
特别是在 ISO C 1999 中,而不是在 C++ 中,也不是在 C1 的任何新版本中,是否严格遵守使用 sizeof ((struct T *) 0)->field 来确定结构体字段的大小? 例如 #inc...
typedef 结构体{ 无效*字段1; } s1; 无效函数1(无效){ s1 我的_s1; s1 * __restrict my_s1_ptr = &my_s1; *((int*)((char*)my_s1_ptr->field1 + 4)) = 0; *((int*)((char*)my_s...
当 int main() 没有 return 语句时,如何强制 gcc 编译器抛出错误。这段代码编译没有任何错误 #包括 int main(){ printf("嗨"); } 我正在使用...
以下代码在 Linux 上使用 gcc -std=c99 可以正常编译,但在 Visual Studio 2010 C 编译器上出现以下错误: Microsoft (R) 32 位 C/C++ 优化编译器版本 16.00.40219....
对我在这里发表的评论的回应让我停下来思考:“我真的不知道 C99 支持的状态是什么。” 维基百科提供了一些编译器的详细信息,但我对 C9 还不够熟悉......
函数属性只能为函数声明(而非定义)指定。 因此,我无法指定嵌套函数的属性。 例如: //无效行。 hot_nested_function 是不可访问的...
Mac OS 上的 `cc -std=c99` 和 `c99` 有什么区别?
给出以下程序: /* 求 1000 以下的所有 3 或 5 的倍数之和。 */ #包括 unsigned long int method_one(const unsigned long int n); 整数 主要(int argc,...
表达式中的声明和声明是 GNU C 特有的吗?或者这个功能也包含在C99标准中?
哪些现代编译器支持 Gnu 语句表达式(C 和 C++ 语言)。我应该在什么版本中使用语句表达式? 语句表达式类似于 ({ code; code; retva...
各种编译器中的 Pragmas swp、ivdep、预取支持
在好的 Altix 手册(altix_single_cpu_optimization http://wwwuser.gwdg.de/~parallel/parallelrechner/altix_documentation/altix_single_cpu_optimization.pdf)中,我找到了
从 ISO C99 开始,我们有一些宏(或常量)可以帮助理解一些数学错误(参见 相关)是如何发出信号的。然而,对我来说,它们似乎并没有实现......
是否为 -std=c99 提供了子选项,以便我可以传递这些子选项并避免传递 -std=c99 ? 例如: int main() { for(int i=0;i<10;i++) { i++; ...
我记得我的一位教授在 C 入门课程中提出的一个主张。他表示,#define 预处理器命令使程序员能够创建一个常量以在以后的代码中使用,并且......
最近的 MSVC 版本不将 NAN 视为常量,有解决方法吗?
最近的 MSVC 版本似乎不再将 NAN 视为常量。新定义似乎是 (__ucrt_int_to_float(0x7FC00000))。旧的是 (-(float)(((float)(1e+300 * 1e+300)) * 0.0F))...
我在http://en.wikipedia.org/wiki/C99中发现Pelles C完全支持C99。 但我有疑问。 您可能知道,GCC 项目尚未完全支持 C99。
//my_struct.h typedef struct my_struct_t *my_handle; void f1(my_handle 句柄); void f2(my_handle 句柄); //my_struct.c #include“my_struct.h” 类型定义结构 { 整数a; 整数b; }
我已经意识到这个问题,其中OP寻求使用C++11标准。 遗憾的是,我知道 C++11 对于 QNX 6.5 来说太新了。 但我的问题与...