1

System C 提供了任意长度的整数类型,可以将其作为数字(即支持算术)或作为位向量(即支持逻辑运算和使用子向量)进行操作。

System C 还为我不想要的各种其他东西提供支持,例如时钟、触发器等,以及它自己的运行时。我很挑剔 - 我想要没有开销的数据类型。

这些数据类型可以独立于系统 C 内核的其余部分使用吗?如果是这样,怎么做?

4

2 回答 2

4

至少TTBOMK,不。有相当多的库支持 C++ 中的任意长度整数,但没有 SystemC 中的硬件设计“东西”(例如,NTLGMPMIRACL)。其中一些确实添加了不仅仅是简单的任意精度算术(例如,在数论中大量使用的各种函数)。

OTOH,鉴于典型的实现,至少如果您将它们用作静态库,那么只有您实际使用的内容才会链接到您的可执行文件中。

于 2010-10-06T20:12:59.443 回答
1

我对 SystemC 不熟悉,但我总是喜欢指出,在开源项目中,你可以从马嘴里得到答案。

浏览实现整数类型的 CPP 文件,它似乎取决于datatypes/utils/和中的内容kernel/

http://github.com/systemc/systemc-2.2.0/tree/master/src/sysc/datatypes/int/

如果 Jerry 建议的静态链接没有将其削减到看起来合理的程度(由于某种不必要的全局或子系统初始化),那么如果这样做很重要,您可以将其从 GitHub 上 fork 用于您的极简版本......但是维护自己的分支总是要付出代价的。

(或者你可以贡献一个元系统来减少人们不需要的系统 C 的部分,这可能会被合并到主发行版中!)

于 2010-10-06T20:26:42.643 回答