System C提供任意长度的整数类型,可以作为数字(即支持artihmetic)或作为位向量(即支持逻辑运算和使用子向量)进行操作。
System C还支持我不想要的各种其他东西,例如时钟,触发器等,以及它自己的运行时。我很挑剔 - 我希望数据类型没有开销。
这些数据类型可以独立于系统C内核的其余部分使用吗?如果是这样,怎么样?
答案 0 :(得分:4)
至少TTBOMK,没有。有很多库在C ++中支持任意长度的整数而没有SystemC中的硬件设计“东西”(例如,NTL,GMP,MIRACL)。它们中的一些确实增加了不仅仅是普通的任意精度算术(例如,在数论上大量使用的各种函数)。
OTOH,鉴于典型的实现,至少如果你将它们用作静态库,只有你实际使用的内容才会链接到你的可执行文件中。
答案 1 :(得分:1)
我对SystemC并不熟悉,但我总是想指出,在开源项目中,你可以从马的口中得到答案。
浏览实现整数类型的CPP文件,它似乎取决于datatypes/
,utils/
和kernel/
中的内容:
http://github.com/systemc/systemc-2.2.0/tree/master/src/sysc/datatypes/int/
如果Jerry建议的静态链接不足以使其看起来合理(由于某种不必要的全局或子系统内容),你可以将它从GitHub中分离出来用于极简主义版本,如果这样做很重要的话......但是维持自己的分支总是有成本的。
(或者你可以贡献一个元系统,用于削减系统中不需要的系统C人员可能会被合并到主要发行版中!)