我通常在C89中编写C代码,现在C99的一些功能(如intxx_t或__VA_ARGS__或snprintf)非常有用,甚至可能是至关重要的。 在将我的要求从C89转移到C99之前,我想知道哪些C99功能被广泛支持,哪些不被广泛支持甚至被认为是有害的。 我知道我们可以检查目标编译器的支持情...
我有一个问题,涉及第一份《美国国家标准编程语言-C》(也称ANSI/ISO 9899-1990、ISO/IEC 9899.1990 (E)、C89等)中第5.2.4.1节“翻译限制”。简单来说,这是第一个ANSI C标准。该标准说了什么令人感到奇怪?它声名狼藉地指出,符合C标准的编译器只需要处...
我们在一个嵌入式平台上使用C89。我试图打印出size_t,但它没有起作用: 我们在嵌入式平台上使用C89。我尝试打印一个size_t,但无法运行:#include <stdio.h> int main(void) { size_t n = 123; print...
我在不同的来源中(例如维基百科:http://en.wikipedia.org/wiki/C_variable_types_and_declarations#Size)多次看到:在C语言中,long long不比long类型小,而long类型也不比int类型小,int类型也不比short类型小...
简单的问题:在ANSI C中,scanf能否将"小整数"读入到无符号字符(unsigned char)中? 示例代码 un_char.c:#include <stdio.h> #include <stdlib.h> int main(void) { unsi...
我想编写一个返回类型为va_list的函数。 例如:va_list MyFunc(va_list args); 这种写法是否安全且可移植?
我最近读到一篇关于Lua联合创始人Luiz H. de Figueredo和Roberto Ierusalimschy的访谈,他们在讨论Lua的设计和实现。这令我感到非常有趣。然而,讨论中的一部分让我想到了一些问题。Roberto将Lua称为“独立应用程序”(也就是说,它是纯ANSI C,不使...