如何在 Eclipse 中配置 GCC 以使用 C99?
我正在 Eclipse 中开发一个小型 C 项目;我刚刚从 Ubuntu 软件中心安装了 Eclipse 并添加了 C/C++ 语言支持。我可以很好地构建、运行和调试简单的 C …
Mac 操作系统上的“cc -std=c99”和“c99”有什么区别?
给出以下程序: /* Find the sum of all the multiples of 3 or 5 below 1000. */ #include unsigned long int method_one(const unsigned long int n…
在 C 宏扩展期间,宏是否存在扩展为“/*”的特殊情况?
这是一个相关的例子。它显然不是有效的C,但我只是在这里处理预处理器,因此代码实际上不需要编译。 #define IDENTITY(x) x #define PREPEND_ASTERISK…
C89 中的变长数组?
我读过 C89 不支持可变长度数组,但以下实验似乎反驳了这一点: #include int main() { int x; printf("Enter a number: "); scanf("%d", &x); int a[…
传递多维数组
我知道对于一维数组,我可以做... void g(int x[]) {} void f(int a, int b) { int x[a]; g(x); } 但是使用诸如...之类的代码... void f(int a, int b…
在main之前定义一个函数?
C99 中是否需要函数声明/原型? 我目前正在头文件中定义我的函数,并在主文件中#include-ING 它。这在 C99 中可以吗? 为什么大多数程序员在 main() …
gcc(windows + MinGW) 在 inttypes.h 中定义了 SCNd8、SCNu8 吗?
#include #include int main(void) { int8_t int8; int16_t int16; int32_t int32; int64_t int64; uint8_t uint8; uint16_t uint16; uint32_t uint32…
将字符串写入长度超过 4095 个字符的文件
我正在构建一个分布式消息系统,供用户在不同的 Linux 终端上相互发送消息。我正在寻找的问题场景是当我尝试将字符串写入超过 4095 字节/字符的文本文…
printf 转换规范的大小限制
printf 转换规范为 % 后跟标志、宽度、精度、长度修饰符和转换说明符。转换规范的大小是否有实际限制? 即 %s 为 2 个字符长,而 %08.2f 为 6 个字符…
在 Windows 上用 C 进行直接 GDI 编程
我最近对直接使用 C 语言在 Windows 上尽可能高效地进行编程感兴趣。我仍然需要 GUI 来完成某些事情,Windows API/GDI 仍然是解决此问题的受人尊敬的…
如何在c99标准下将C中的x转换为pow y
我有#include, 我尝试使用 pow(x, y) 和 powf(x, y)。 但似乎它们都不符合 c99 标准。 我使用命令 gcc -std=c99 test.c -o test 进行编译。 我可以使…
在 C99 中,f()+g() 是未定义还是只是未指定?
我曾经认为在C99中,即使函数f和g的副作用干扰,并且虽然表达式f() + g() 不包含序列点,f 和 g 将包含一些序列点,因此行为将是未指定的:f() 将在 g…
选择最合适的整数大小/范围用于变量
C99 中的 stdint.h 提供了许多整数大小、类型的选项和范围 - 太多了我不知道该选择什么! 我知道如何在适当的时候使用size_t和ptrdiff_t,我使用固定…
在哪里可以找到每个 C99 字符集的所有字符表?
我正在为以下每个 C 字符集中的每个字符寻找一个表(或生成一个表的方法): 基本字符集 基本执行字符集 基本源字符集 执行字符集 扩展字符 集 源字符…