gpt4 book ai didi

c++ - C 的轻度 linux/gcc 扩展? (例如,前向扫描、opt args)

转载 作者:行者123 更新时间:2023-11-30 21:11:15 25 4
gpt4 key购买 nike

我想在linux上用C语言编写一个项目。从其他计算机编程语言绑定(bind)到 C 的简单性和通用性使其成为优于其他计算机语言(例如 C++、Obj-C、D、C# 等)的优先选择。

不幸的是,C 的一些限制让我抓狂。 (IDE 并不能解决所有问题。它们只能覆盖一些问题。此外,我还使用 emacs、gcc 和 cgdb。)

  • 我宁愿对函数定义进行多遍前向扫描,所以我不需要原型(prototype);我宁愿不必有 .h 文件。然后我可以将一个“模块”中的所有内容放入一个且仅一个 .c 文件中。也许这需要一个“public”关键字来指定我想要导出的任何函数符号。

  • 我喜欢函数的可选参数:函数 x(y =0)。

这些是痒的集合。一切都相当平淡。没有什么比完整的语言更复杂的了,更不用说垃圾收集或继承等真正的新功能了。更像 C 11.1。它只需要一个更复杂的预处理器。为 C [in perl] 编写这样一个预处理器并不会太难,但是编写与之配套的所有工具需要深入了解常用支持工具(emacs、gdb 等),而我没有这些知识。

(更多行人请求:一个编译指示,声明在创建时将所有结构和数组归零。传递“...”可变参数。真正的文档支持---doxygen 具有特性。多行支持。)

gcc中有这样的可扩展的C解决方案吗? C 和 C++ 之间的差距太远了,但介于两者之间的山谷似乎很少有保留 C 优点的选择。

最佳答案

这并不能解决所有的 C 问题,但它改进了它:

http://www.hwaci.com/sw/mkhdr/

提供makeheaders,它从每个负责原型(prototype)的.c文件生成.h文件,包括用于前向引用以及保持.c和.h文件同步。对我来说是很大的进步。

关于c++ - C 的轻度 linux/gcc 扩展? (例如,前向扫描、opt args),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24834351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com