c99 相关问题

此标签用于有关国际标准ISO 9899:1999,又名“C99”的问题,包括技术勘误,以及有关用C99编写的代码的问题(与K&R C,C89或更高版本C标准修订版本相反,如2011年修订版C11) 。

MS Visual Studio 编译器提供哪些 C99 功能?

众所周知,微软的Visual Studio编译器不支持C99,而且看起来他们也没有计划支持它。 然而,编译器确实包含一些精心挑选的功能,例如......

回答 2 投票 0

`void foo(int a[static 0]);`有效吗?

以下函数是否严格符合C99? 无效 foo(int a[静态 0]) { (无效)a; } GCC 和 Clang 都会发出有关使用零大小数组的警告,但我认为这个警告不合理......

回答 2 投票 0

_Bool 有“printf”转换说明符吗?

使用 printf(),我可以使用 %hhu 表示无符号字符,%hi 表示短整型,%zu 表示 size_t,%tx 表示 ptrdiff_t 等。 我应该为 _Bool 使用什么转换格式说明符?摊位上有吗...

回答 5 投票 0

%zu 格式说明符与 C99 不起作用

我愿意在格式字符串中使用 %zu 格式说明符打印 size_t 值,但是,我总是得到“zu”作为输出,而不是 size_t 变量中的实际值: 尺寸_t...

回答 1 投票 0

通过字母表并行化迭代

我必须编写一个从 aaaa 迭代到 zzzz 的小代码。 到目前为止,我使用 32 位整数和天真的方法 静态常量字符 ASCII_A = 'a'; 静态常量字符 ASCII_Z = 'z'; 字符 C0, C1...

回答 0 投票 0

如何编写此代码来验证用户输入?

所以这是我的代码片段(假设变量声明为 int 类型): printf("行数:"); scanf("%d", &x); printf("列数:&qu...

回答 1 投票 0

为什么 clang-tidy 会为这个 C99 程序产生“收缩转换”?

为什么 f2 中的第二个和第三个作业产生这个而第一个没有? Clang-Tidy:缩小从“int”到有符号类型“char”的转换是实现定义的 AFAIK,根据 C lan...

回答 2 投票 0

C - Eclipse - “混合”方言和 ANSI 支持崩溃程序?

我在 Eclipse 中遇到了一个奇怪的 C 问题。右键单击我的项目,转到“属性”、“C/C++ 构建”、“设置”、“Gcc C 编译器方言”。在下拉菜单中,默认情况下什么都没有

回答 1 投票 0

min-GW gcc 无法链接 winsock2.h

我正在尝试使用 winsock2 库,我正在使用它从 open62541 编译教程服务器 我使用并出错的一些代码(来自合并构建的 open62541.c): #包括 我正在尝试使用 winsock2 库,我正在使用它从 open62541 编译教程服务器 我使用并出错的一些代码(来自合并构建的 open62541.c): #include <winsock2.h> #include <Windows.h> #INCLUDE <ws2tcpip.h> int main(){ struct pollfd tmp_poll_fd; } 我正在使用 mingw 编译 open62541 服务器,并按照tutorial gcc -std=c99 server.c open62541.c -lws2_32 -o server.exe 错误: error: storage size of 'tmp_poll_fd' isn't known struct pollfd tmp_poll_fd; 其他错误也与 winsock2 库有关,例如 POLLWRNORM undeclared 我已经检查过 winsock2.h 就位了, 我也检查里面的winsock2.h包含struct pollfd和POLLWRNORM 我已经尝试在 gcc 命令中进行一些更改,例如: gcc -std=c99 server.c open62541.c -libws2_32 -o server.exe 有办法解决这个问题吗? 免责声明:此答案是基于我本地安装的MinGW版本(8.1.0,由MinGW-W64项目构建),您的情况可能有所不同。 包含文件“winsock2.h”对目标Windows版本有保护: #if (_WIN32_WINNT >= 0x0600) /* ... */ typedef struct pollfd { /* ... */ #endif /*(_WIN32_WINNT >= 0x0600)*/ 宏_WIN32_WINNT由“_mingw.h”设置为0x502,如果不通过其他方式更改它: #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x502 #endif 根据 Microsoft 的文档,值 0x502 表示“Windows Server 2003”。如果您将宏设置为大于或等于 0x600(“Windows Vista”)的值,您的编译将成功: #define _WIN32_WINNT 0x600 #include <winsock2.h> #include <windows.h> #include <ws2tcpip.h> int main(void) { struct pollfd tmp_poll_fd; }

回答 1 投票 0

为什么我不能用位域创建一个结构数组?

编辑:我必须专门为此目的使用 union,因为本章是关于它们的。我所说的第一个任务的片段是基于: 设计一个名为 byte_set 的联合,其中

回答 3 投票 0

连接预处理器标记

如何编写宏 #define CONCATENATE(x) 以产生以下结果: 连接(整数); // 生产 --> int 连接(无符号整数); // 产生 --> unsignedint 连接(长...

回答 3 投票 0

是否有文献证明 printf 的 %f 将 float 转换为 double? [重复]

我读过 printf 的 %f 说明符用于 double,它会自动将 float 转换为 double。但是我在书中找不到任何证据(尽管它在网上有说明)。 我没有...

回答 2 投票 0

有什么方法可以使用 C99 获得 fdopen 功能?

显然 fdopen 需要使用编译标准的 POSIX/gnu99。我希望留在 C99。 我遇到这个问题是因为我使用 open() 创建文件描述符然后(因为我 ...

回答 2 投票 0

使用指向复合文字的指针初始化块作用域静态常量变量?

以下代码被 GCC 和 Clang 拒绝(godbolt 链接): 构造事物; typedef 枚举 { THING_TYPE_A, THING_TYPE_B, } thing_type_t; typedef 结构 thing_a { 诠释我; } thing_a_t; 类型定义

回答 2 投票 0

如何在不写入 (null) 的情况下将字符串写入 C 文件中?

这就是我得到的: #包括 #包括 #包括 #包括 int main(int argc, char* argv[]) { 无符号短索引; ...

回答 2 投票 0

在 C 中混合指向有符号和无符号的指针

假设我有一个具有非负值的整数变量和两个指向它的指针——一个有符号指针和一个无符号指针。据我从标准中可以看出,这很好。 6.5 一个物体应该...

回答 1 投票 0

C 中的操作重新排序和签名

我发现了几个讨论有符号和无符号编译器优化的问题。 一般的结论是,由于溢出的未定义行为,signed 允许进行更多优化。 呵呵……

回答 1 投票 0

如何找到我当前的编译器标准,比如它是 C90 等

我在 Linux 机器上工作。是否有任何系统命令可以找到我正在使用的 C 编译器所遵循的标准?

回答 7 投票 0

C语言如何正确地重新排列#include命令?

我用C语言写了一些代码(使用c99标准),希望你能帮助我重新安排代码中的include。目前一切都很好,但我感觉很乱,我很困惑,include是否应该 ...

回答 1 投票 0

在C99中的除法中使用指针,错误:无效操作数为二进制数

这个问题肯定看起来很愚蠢,但我总是浪费很多时间,用测试错误直到它工作,这种问题。我需要一个指针从一个函数中返回一个值,然后我需要......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.