linux/gcc的C?(例如,前向扫描,opt参数)

mild linux/gcc extensions for C? (e.g., forward scanning, opt args)

本文关键字:扫描 opt 参数 例如 gcc linux      更新时间:2023-10-16

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

不幸的是,C语言的一些限制让我抓狂。ide并不能解决所有问题。他们用石膏覆盖了一些。此外,我还使用emacs、gcc和cgdb。)

  • 我宁愿多遍扫描函数定义,所以我不需要原型;我不希望有。h文件。然后,我可以将一个"模块"中的所有内容放入一个.c文件中。也许这需要一个"public"关键字来指定我想导出的任何函数符号。

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

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

(more pedestrian request:一个在创建时声明所有结构和数组为零的pragma。通过……"可变参数。真正的医生支持——氧气有特质。多行支持。)

在gcc中有这样的可扩展的C解决方案吗?C和c++之间的差距太大了,但是介于两者之间的差距似乎没有多少选择可以保留C的优点。

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

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

提供makeheaders,它从每个。c文件生成。h文件,这些文件负责原型,包括向前引用和保持。c和。h文件同步。