我如何通过 C90 中的函数传递 va_list
我想将 va_list 传递给另一个函数。这是我想做的一个例子: void my_printf_1(char* string, ...) { va_list ap va_start(ap, string) printf(string,…
无法反转转储输入文件
我想反转输入文件的内容并显示反转的内容,但我没有得到它;我想我犯了一个逻辑错误。 #include <stdlib.h> #include <errno.h> #include <…
Linux内核container_of宏和C90中的通用容器
是否可以实现 container_of 纯C90 中的宏?我不确定如何做到这一点,因为内核实现取决于 GCC Hacks,例如 typeof 运算符。 我这样问是因为我想在 C90 …
如何在普通 C89 中读取给定字符长度的 UTF-8 字符串?
我正在用纯 C89 编写一个自定义的跨平台简约 TCP 服务器。 (但我也会接受特定于 POSIX 的答案。) 服务器使用 UTF-8 字符串,但从不查看它们的内部。…
在 MS Visual C++ 中启用 VLA(可变长度数组)?
如何启用 VLA、C99 中定义的可变长度数组、MS Visual C++ 中的使用,或者根本不可能? 是的,我知道 C++ 标准基于 C89,并且 VLA 在 C89 标准中不可用…
ANSI C 不允许在固定时间段后在同一位置打印每个字符吗?
我正在尝试生成要在控制台上打印的随机数。我在 Linux 上用 C 语言编程。我想在每个数字一秒的时间间隔后在一个地方打印所有数字。 我正在使用 sleep(…
C90中如何分配可变大小数组?
我需要为 SYMBOL 分配一个变量大小, typedef int SYMBOL 我按照以下方式进行 SYMBOL test[nc],这里 nc 是一个整数。但这给了我以下警告: ISO C90 …
C 的哪些部分最可移植?
我最近读到了 Lua 联合创始人 Luiz H. de Figueredo 和 Roberto Ierusalimschy 的采访,他们讨论了 Lua 的设计和实现。至少可以说这是非常有趣的。然…
使用符合 C89 标准的 M_PI
我正在使用 C 并尝试访问常量 M_PI (3.14159...)。我已经导入了 math.h 头文件,但 M_PI 常量仍然未定义。通过在 StackOverflow 上的一些搜索,我发现…
收到警告” ISO C90 禁止可变大小数组”在 gcc 编译器中编译 C90 代码
我正在 gcc 中编译我的 C90 c 代码。在进行如下声明时,我收到警告 ISO C90 禁止可变大小数组 , 其中 nc 是整数,其值是从输入文件读取的。输入文件…
我如何捕获 ansi C90 中的运行时错误
我正在使用库函数ConnectToTCPServer。当主机不可访问时,此函数会超时。在这种情况下,应用程序崩溃并出现以下错误: “非致命运行时错误:“MyClien…
这是不好的编码习惯吗?
我正在使用 PC-lint 来分析我的代码,这些行产生了几个错误。这让我想知道我的编码实践是否错误? char *start char *end // Extract the phone numbe…
如何在没有 dirent.h 的情况下访问 C90 中的目录?
我正在LabCVI基于C90工作。 手头的坦克将在“..\data”目录和子目录中找到“*.spec”文件的绝对路径。 我知道有解释如何使用 dirent.h 做到这一点,但…
为什么 gcc -ansi 删除 cosf 等声明?
你可能认为我完全疯了,并且编程非常糟糕。其中之一可能是这种情况,但请阅读我的发现。 是的,我 #include 完整代码可以在此处找到.( 我试图使其兼容…