问题标签 [c89]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C90 - C99: register struct
is "register struct" legal? In terms of standards and (separated from standards) in Gcc?
c - 在 Windows 平台上使用 ansi-c 可以获得高达毫秒精度的系统时间吗?
我需要获得毫秒精度我看一下这个问题,但我正在使用 Windows:它给出了 POSIX 函数的链接错误。
如果我能以毫秒精度获得 1970 年以来的 UTC 时间,那就太好了。
iphone - ansi c应用程序的二进制文件可以在iPhone上运行吗?
我有一些用 ANSI C 编写的应用程序。我能在 iPhone 上运行这些应用程序的二进制文件吗?如果不是直接,还有其他有用的方法吗?我不想重写应用程序。
c - 使用 ANSI C 实现工厂模式
谁能指出我如何使用 ANSI C 实现工厂模式的参考?如果涵盖更多模式,那将是一个奖励。在 C++ 中做这件事对我来说是微不足道的,但由于 C 没有类和多态性,我不太确定如何去做。我正在考虑拥有一个包含所有常见数据类型的“基本”结构,然后使用 void 指针,并以与顶部基本结构相同的顺序定义结构的所有公共部分?还是不能保证它们在内存中以相同的方式结束?
c - 在 ANSI C 中伪造/构建 TCP 数据包
在不使用第三方工具的情况下,我如何在 ANSI C 中制作 TCP(甚至是 UDP)数据包?我希望能够设置所有选项标志、源 IP 地址等。所以完全控制。在网上没有找到任何关于它的好文字。或者我只是使用了错误的搜索条件。
c - 如何检测 C 中的一个或多个键的组合?
如何检测 ANSI C 和/或 Win32 SDK 中的一个或多个按键组合?
例如:如何检测 CTRL+ALT+DEL 是否被按下?
请给我一些源代码或任何网络链接。
请注意,我使用的是轮询机制,而不是事件。
我需要在 win32 控制台模式下进行。
c - 在 C89 中使用可变参数函数而不传递参数数量或最终参数?
假设我有一个可变参数函数foo(int tmp, ...)
,当调用 foo 函数时,我需要知道有多少个参数。我知道有两种方法可以找出有多少参数:
调用 foo 时使用最后一个参数,例如 -1,因此您的函数调用将是这样的:
foo(tmp, 1, 2, 9, -1)
当您在 foo 内部并且 va_arg 调用返回 -1 时,您知道您已经阅读了所有函数参数在 foo 中再添加一个参数,程序员将拥有参数总数,因此您将像这样调用 foo:
foo(tmp, 5, 1, 2, 3, 4, 5)
或foo(tmp, 2, 7, 8)
我曾经遵循第一种方式,曾经有以下错误。使用代码:
其中 expr_of_type 是一个可变参数函数,并且正在检查 expr(第一个参数)是否是以下类型之一(boolexpr_e 或 new_table_e 或 nil_e 具有枚举类型的所有类型)。一不小心写到:
我忘记了 nil_e 和 -1 之间的逗号,因为 nil_e 有一个枚举类型,nil_e - 1 是一个有效的表达式,并且因为 nil_e 不是 0 尝试获取 expr_of_type 参数时给定的可变参数函数没有找到 -1 作为最后一个参数和继续搜索创建了一个错误,我花了一些时间才发现。
我也觉得第二种方法不好,因为在从可变参数函数中添加或删除一个参数时,您需要更改包含总参数数量的参数。
在寻找使用/创建可变参数函数的更好方法时,我发现可变参数宏可以解决我在使用第一种方法时遇到的错误。但可变参数宏可用于 C99 标准。我一直在寻找在 C89 中使用/创建可变参数函数的更好方法。有任何想法吗?
c - ANSI C 实现中的 HAT-trie?
我正在寻找在一些免费许可下发布的 ANSI C HAT-trie 实现。我还没有找到一个。您能否指出一些独立的实现或使用 HAT 的程序尝试至少稍微了解如何以正确的方式实现它,好吗?
关于 HAT-trie 的原始论文可以在这里找到: http ://crpit.com/confpapers/CRPITV62Askitis.pdf
PS:如果自写上述论文以来,更快的缓存意识数据结构非常适合字符串,请指出我的论文或示例源代码。
c - 一个好的 C 等价于 STL 向量?
我注意到在我们的代码库中的几个地方,我们使用动态扩展数组,即一个基本数组加上一个元素计数器和一个“最大元素”值。
出于通常的面向对象的原因,我想做的是用通用的数据结构和实用程序函数替换它们。数组元素可以是基本数据类型或结构,我需要快速随机访问元素,最好是类型安全的实现。
所以,基本上,我想使用的是 STL 向量,但代码库仅限于 C89,所以我必须想出别的东西 :-)
我想了想,草拟了这个初稿,只是为了展示我的目标:
......但是,之前必须有其他人这样做过。我知道 FreeBSD sys/queue.h 实现了一些不同队列的类似概念,但我找不到类似的数组。
这里有人更聪明吗?
c - C:将double转换为float,保留小数点精度
我想在C中将double转换为float,但想尽可能保留小数点而不做任何更改...
例如,假设我有
如果我错了,现在纠正我,我知道浮点精度大约是点后的 5 个数字。我可以在点之后得到这五个数字,就像双精度一样吗?使上述结果如下:
它应该打印
精度限制(我假设为 5)之后的所有数字都将被截断。