我偶然发现了picoc,我对它能做的事情印象非常深刻 - 特别是它可以通过添加新功能等来扩展。这使我免于试图“滚动我自己的“翻译。
但是,我想知道无论如何我可以通过以下方式扩展picoc:
有没有人有这方面的经验,或者有人可以提供有关如何将新数据类型及其操作员功能添加到picoc的指示?
[[编辑]]
在进一步检查代码时,我相信我已经找到了如何添加新数据类型(通过修改type.c)。但是,我仍然不清楚如何在picoc中为新数据类型添加算术运算符。任何帮助表示赞赏,
答案 0 :(得分:1)
通常,C没有运算符重载(而C ++也是如此)。 Picoc定位非常小,只有必需品,所以我认为它没有为它提供任何扩展。
答案 1 :(得分:1)
添加新类型的方法与添加新功能的方式相同。可以通过检查picoc的源stdbool.c
来获得一个简单的示例,您可以在typedef int bool;
元素中找到StdboolDefs
。您必须查看其他地方include.c
,以查找正在使用的元素;你会发现它是IncludeRegister()
电话的“SetupCSource”参数。
关于添加新的运算符 - 当然这是可能的,但只有对picoc库进行相当有创的改变。正如@yeputons所说,C语言不允许你更改或添加运算符,因此picoc没有理由直接支持它。